SlideShare a Scribd company logo
Docker on RHEL & !
Project Atomic 入門
Haruka Iwao
Docker Meetup #4
2015/01/17
おことわり
•  正確な情報を提供するように努めていま
すが、無保証です。
•  必ずしも会社の公式見解ではありません
•  製品の正確な情報が必要な場合は、レッ
ドハットにお問い合わせください
わたしはだれ?
•  岩尾 はるか (@Yuryu)
•  レッドハットで働いています
– ストレージソリューションアーキテクト兼ク
ラウドエヴァンジェリスト(何でもやる)
•  Final Fantasy XIV プレイヤー
– Carbuncle サーバー、学メイン
– バハ真成編4層をクリアしました
•  Ingress 緑エージェント(A11)
Linuxカーネル本(宣伝)
•  Linux Kernel Updates”
•  最新刊
– OOM Killer特集
– ジュンク堂池袋店で買
えます!
•  既刊
– Docker, TCP/IP特集など
– Kindle版売ってます
あらすじ
•  Red HatとDocker
•  Project Atomic
•  Try CentOS Atomic Host
•  デモ
Red HatとDocker
その前に
Fedora, RHEL, CentOS
•  代表的な3種類の「Red Hat系」Linuxディ
ストリビューション
Fedora, RHEL, CentOS比較
Fedora Red Hat
Enterprise
Linux
CentOS
開発主体 Fedora Project Red Hat CentOS Project
リリース間隔 およそ半年 3年∼3.5年 RHELに準ずる
メンテナンス期
間
およそ1年 10年+延長3年 10年
特徴 新機能をどんど
ん実装していく
Fedoraをもとに、
より堅牢、安定
化
RHELのソース
を元に、商標を
取り除き再ビル
ド
価格 無償 有償 無償
サポート なし あり なし
リリース間隔イメージ
=1年ちょっと
RHELとCentOSの関係
•  ソースコードレベルでは、商標の変更を
除いてほぼ同じ
•  機能は同じ。バグも同じ。
•  リリースは基本的にRHELが先
– 数週間程度ずれる
•  今日はRHELといいますが、おうちで試す
ときはCentOSでも同じです
– サポートが必要な場面ではRHELを買ってね!
Red HatとDocker
Red Hatの取り組み
•  RHELへの移植
•  Device mapper thin-provisioning への対応
– ディスク性能の向上
•  Systemd 統合
•  SELinux 対応
•  DockerConスポンサー
•  Kubernetes開発に参加
http://blog.docker.com/2014/06/keynote-videos-from-dockercon14/
Docker on RHEL
•  Red Hat Enterprise Linux 7ではDockerが
正式サポート
– 「Extras」チャンネルでの提供
– ミッションクリティカル非推奨
Extrasチャンネルとは
•  通常のRHELのパッケージは、一つのメ
ジャーバージョンの中ではrebaseしない
– 例えばRHEL7の間、Apacheのバージョンは
2.4.6のまま
– 新機能やバグ修正は都度マージ&テスト
•  Extrasはrebaseします
– 常に最新版を使っていただく状態を想定
– リリース間隔も短い
https://access.redhat.com/support/policy/updates/extras
ミッションクリティカル非推奨
•  頻繁にrebase、リリースされるので、す
ごく重要な場所には使わないでね
•  サポートが限定的
– Severity 3 (Medium)が最大になります
– 24/365 応答しません
•  個別にはご相談ください
•  RHEL 7.1からこの制限は無くなる予定
https://access.redhat.com/solutions/907283
コンテナの互換性
•  技術的な観点ではなく、サポートの可否
•  ホストとコンテナともにx86_64のみ
コンテナ ホスト サポート可否
RHEL 5以前 RHEL 7 ×
RHEL 6 RHEL 7 ○
RHEL 7 RHEL 7 ○
RHEL 以外
(CentOS, Ubuntu, etc…)
RHEL 7 ×
RHEL RHEL 以外 ×
続・コンテナの互換性
•  カーネルを載せ替えて、本当に大丈夫?
•  /proc や /sys に依存するアプリケーション
は、正しく動かないことも
•  システムコールの微妙な変更がアプリを
壊すことも
– 例: A kernel change breaks GlusterFS
– https://lwn.net/Articles/544298/	
  
•  RHELでは互換性を担保、サポート
Getting Started with Docker
•  RHEL 7でDockerを動かすチュートリアル
•  https://access.redhat.com/articles/881893	
  
•  CentOS 7でも基本的には同じ
– チャンネルは無いので、単に yum install
docker でインストールできる
– firewalld を disable & stop するのを忘れずに
Project Atomic
Project Atomic とは
•  Atomic Host を作っているプロジェクト
•  小さなOS+コンテナのためのツールを
セットで提供
•  コンテナのためのプラットフォーム
Project Atomic ベースのOS
•  Fedora Atomic
– Fedora と同じように、新機能開発のベース
•  Red Hat Enterprise Linux Atomic Host
– 商用版でサポート付きの安定版
– 現在ベータ版提供中
•  CentOS Atomic Host
– CentOSをベースにAtomic Hostの機能を追加
– RHEL Atomic Hostとは独自に開発(今のとこ)
Ubuntu Coreとの違い
•  Ubuntu Core
– コンテナイメージを作るための最低限のOS
– tarで提供され、Dockerにインポートして使う
– ホストOSでは無い
•  Atomic Host
– コンテナを実行するためのホストOS
– 仮想マシンイメージで提供される
– コンテナ内OSでは無い
Ubuntu Coreとの違い
•  Ubuntu Core
– コンテナイメージを作るための最低限のOS
– tarで提供され、Dockerにインポートして使う
– ホストOSでは無い
•  Atomic Host
– コンテナを実行するためのホストOS
– 仮想マシンイメージで提供される
– コンテナ内OSでは無い
初出時にSnappy Ubuntu Coreを見落として書いて
ありました。Ubuntu Coreはコンテナ用の最低限
のディスクイメージ、Snappy Ubuntu Coreは非常
に小さな最低限のUbuntuです。ただし、Dockerも
標準では付属せず、Dockerに限定しないものに
なっています。2015/01/17現在のalphaは、ディス
クイメージ109MB、メモリ消費量41MB、duで取
れるファイルシステム容量297MBでした。お詫び
して訂正します。
CoreOSとの違い
•  非常によく似ているライバル
•  標準ツール
– CoreOS: etcd, fleet
– Atomic Host: etcd, kubernetes
•  思想が少し違う
– CoreOS: 一からコンテナのために出発
– Atomic Host: 既存OSをコンテナに最適化
•  どっち使えばいいの?→Atomic Host好み
RHELとAtomic Hostの違い
•  yum が無い
•  OS自体はrpm-ostree でupgrade/rollback
•  Docker, etcd, Kubernetesが標準で入る
•  ファイルシステムが大部分読み込み専用
•  リリースサイクル、サブスクリプション
の詳細などは少しお待ちを…!
リソース消費量を比べてみた
メモリ ディスク(du /) 配布イメージ
CoreOS 46MB 329MB 112MB
(PXE gz)
RHEL 7 Atomic
Host Beta (※)
195MB 1.1GB 416MB
(qcow2 gz)
CentOS 7 Atomic
Host
144MB 1.2GB 271MB
(qcow2 xz)
CentOS 7 (※) 194MB 1.2GB 3.9GB
(iso)
boot2docker 152MB 113MB 23MB(iso)
ホスト: VirtualBox 4.3.20, VMware Fusion 7.1.0(※)
それぞれ起動直後でDockerを動かした状態
実測値です。環境によって変わります。
Try CentOS Atomic Host
CentOS Atomic Host
•  CentOS をベースに Project Atomic の成果
を追加
•  標準で Docker, Kubernetes, Cockpit,
Etcd , cloud-initが入っている
•  スナップショットが利用可能
CentOS Atomic の入手先
•  http://buildlogs.centos.org/
rolling/7/isos/x86_64/	
  
•  定期的にビルドされるスナップショット
が入手可能
•  qcow2 イメージ
– KVMで使うか、変換して使う
イメージのセットアップ
•  cloud-init が動くようになっているので、
メタデータ、設定を用意
•  今回はisoで読ませる方法を解説
用意するファイル
cloud-­‐config	
  
	
  
password:	
  changeme	
  
ssh_pwauth:	
  True	
  
chpasswd:	
  {	
  expire:	
  False	
  }	
  
	
  
ssh_authorized_keys:	
  
	
  	
  -­‐	
  ssh-­‐rsa	
  ...	
  foo@foo.com	
  (insert	
  ~/.ssh/id_rsa.pub	
  here)	
  
meta-­‐data	
  
	
  
instance-­‐id:	
  iid-­‐atomic01;	
  
local-­‐hostname:	
  centos-­‐atomic;
ファイルをisoにする
$	
  genisoimage	
  -­‐output	
  init.iso	
  	
  
	
  	
  	
  -­‐volid	
  cidata	
  –joliet	
  	
  
	
  	
  	
  -­‐rock	
  user-­‐data	
  meta-­‐data
init.isoをマウントすると
起動時にcloud-initが読み込む
ちょっと面倒と思った?
Vagrant Boxを作りました
Vagrant で CentOS Atomic
$	
  vagrant	
  init	
  yuryu/centos-­‐atomic	
  
$	
  vagrant	
  up
•  公式ではありません
•  VirtualBox Additions は入っていません
•  20141129版のqcow2をもとに作成
•  id: centos, password: vagrant
注意
CentOS AtomicでKubernetes
•  標準で入っているので使ってみよう
•  Docker内にFedoraとApacheのイメージを
入れて、起動させてみる
•  Minion, pod 1つの最小構成
•  参考資料: Testing Kubernetes with an
Atomic Host http://www.projectatomic.io/blog/
2014/11/testing-­‐kubernetes-­‐with-­‐an-­‐atomic-­‐host/	
  
前準備(バグ対応)
#	
  cp	
  /usr/lib/systemd/system/kubelet.service	
  	
  
	
  	
  	
  	
  	
  /etc/systemd/system/	
  
#	
  sed	
  -­‐i	
  s/docker.socket/docker.service/	
  	
  
	
  	
  	
  	
  	
  /etc/systemd/system/kubelet.service	
  
#	
  systemctl	
  daemon-­‐reload	
  
現在のスナップショットにはバグがあって、対応が必要。
デーモン起動&確認
#	
  for	
  SERVICES	
  in	
  etcd	
  kube-­‐apiserver	
  	
  
	
  	
  kube-­‐controller-­‐manager	
  kube-­‐scheduler	
  	
  
	
  	
  docker	
  kube-­‐proxy.service	
  kubelet.service;	
  do	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  systemctl	
  restart	
  $SERVICES	
  
	
  	
  	
  	
  	
  	
  	
  	
  systemctl	
  enable	
  $SERVICES	
  
	
  	
  	
  	
  	
  	
  	
  	
  systemctl	
  status	
  $SERVICES	
  
	
  	
  	
  	
  done	
  
	
  
#	
  kubectl	
  get	
  minions	
  
NAME	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  LABELS	
  
127.0.0.1	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <none>出力:
Apacheを起動してみる
#	
  curl	
  -­‐Lo	
  apache.json	
  	
  
	
  	
  	
  	
  http://bit.ly/1ub4I0c	
  
#	
  kubectl	
  create	
  -­‐f	
  apache.json	
  
	
  
	
  
状態確認
#	
  kubectl	
  get	
  pod	
  fedoraapache	
  
	
  
出力:
NAME	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  IMAGE(S)	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  HOST	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  LABELS	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  STATUS	
  
fedoraapache	
  	
  	
  	
  	
  	
  	
  	
  fedora/apache	
  	
  	
  	
  	
  	
  	
  127.0.0.1/	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  name=fedoraapache	
  	
  	
  Running	
  
ログの確認
Masterのログ	
  
#	
  journalctl	
  -­‐f	
  -­‐l	
  -­‐xn	
  -­‐u	
  kube-­‐apiserver	
  	
  
	
  	
  	
  -­‐u	
  etcd	
  -­‐u	
  kube-­‐scheduler	
  
	
  
Minionのログ	
  
#	
  journalctl	
  -­‐f	
  -­‐l	
  -­‐xn	
  -­‐u	
  kubelet	
  	
  
	
  	
  	
  -­‐u	
  kube-­‐proxy	
  -­‐u	
  docker
動作確認と終了
動作確認
#	
  curl	
  http://localhost	
  
	
  
結果:	
  	
  
終了
#	
  kubectl	
  delete	
  pod	
  fedoraapache	
  
Apache
デモ
まとめ
•  Atomic Host = コンテナ向けOS
– Docker, Kubernetes, Etcd などを標準搭載
– 従来のOSから出発して改良
•  RHEL 7ではDockerをサポート
•  RHEL Atomic Host と CentOS Atomic
Host は別プロジェクト
•  Atomic Host は簡単に試せる
Thank you!

More Related Content

PPTX
DockerをRed Hatはどのように見ているのか
PDF
Dockerイメージ構築 実践テクニック
PDF
Docker事始めと最新動向 2015年6月
PDF
Docker with RHEL7 技術勉強会
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
PPTX
ラズパイ2で動く Docker PaaS
PDF
爆速プレビュープロキシ pool
PDF
コンテナ型仮想化とはなんだったのか
DockerをRed Hatはどのように見ているのか
Dockerイメージ構築 実践テクニック
Docker事始めと最新動向 2015年6月
Docker with RHEL7 技術勉強会
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
ラズパイ2で動く Docker PaaS
爆速プレビュープロキシ pool
コンテナ型仮想化とはなんだったのか

What's hot (20)

PPTX
Docker超入門
PDF
Docker Swarm入門
PDF
Docker入門
PDF
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
PDF
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PPTX
Docker地雷n本勝負
PPTX
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
PDF
JAWS-UG コンテナ支部 Docker入門 ハンズオン
PPTX
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
PDF
Docker最新動向2017秋+セキュリティの落とし穴
PDF
Docker volume基礎/Project Longhorn紹介
PDF
Dockerについて
PPTX
【社内勉強会】Docker入門
PDF
Docker 基本のおさらい
PDF
Using LXC on Production
PDF
Docker hands on nifty sakura jul19
PDF
Docker技術情報アップデート 2015年7月号
PPTX
15分で分か(った気になれ)るDocker
PDF
DockerでWordPressサイトを開発してみよう
Docker超入門
Docker Swarm入門
Docker入門
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
Docker地雷n本勝負
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
JAWS-UG コンテナ支部 Docker入門 ハンズオン
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker最新動向2017秋+セキュリティの落とし穴
Docker volume基礎/Project Longhorn紹介
Dockerについて
【社内勉強会】Docker入門
Docker 基本のおさらい
Using LXC on Production
Docker hands on nifty sakura jul19
Docker技術情報アップデート 2015年7月号
15分で分か(った気になれ)るDocker
DockerでWordPressサイトを開発してみよう
Ad

Viewers also liked (20)

PPTX
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
PPTX
paizaのオンラインジャッジを支えるDockerとその周辺
PDF
8a1#19[はじめてのdocker] 公開版
PDF
捕鯨!詳解docker
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
PPTX
Dockerの基本的な話
PDF
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
PPTX
Docker Community Edition & Enterprise Edition
PDF
What's New in Docker Enterprise Edition (in Japanese)
PPTX
Dockerのネットワークについて
PDF
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
PPTX
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
PDF
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
PDF
Dockerの基本と応用~快適コンテナライフを実現するArukas~
PDF
Docker Enterprise Editionで実践するCaaS
PPTX
Docker webinar 20170616 - Modernize Traditional Apps with Docker Enterprise E...
PPTX
Docker webinar 20170426−01
PDF
DevOpsを実践し成功に導くための ”はじめの一歩” 20171003
PDF
【dots. IT勉強会】開発環境のDocker化
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
paizaのオンラインジャッジを支えるDockerとその周辺
8a1#19[はじめてのdocker] 公開版
捕鯨!詳解docker
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
はてなにおける継続的デプロイメントの現状と Docker の導入
Dockerの基本的な話
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker Community Edition & Enterprise Edition
What's New in Docker Enterprise Edition (in Japanese)
Dockerのネットワークについて
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Docker Enterprise Editionで実践するCaaS
Docker webinar 20170616 - Modernize Traditional Apps with Docker Enterprise E...
Docker webinar 20170426−01
DevOpsを実践し成功に導くための ”はじめの一歩” 20171003
【dots. IT勉強会】開発環境のDocker化
Ad

Similar to Docker on RHEL & Project Atomic 入門 - #Dockerjp 4 (20)

PDF
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PDF
Dockerハンズオン
PDF
Dockerハンズオン
PDF
RHEL Atomic Hostのご紹介
PDF
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
PPTX
今さら聞けない人のためのDocker超入門
PPTX
今さら聞けない人のためのDocker超入門 - KOF
PPTX
今さら聞けない人のためのDocker超入門
PPTX
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
PDF
コンテナ情報交換会2
PDF
ProjectAtomic-and-geard
PPTX
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
PPTX
Docker & Kubernetes基礎
PDF
Red Hat Enterprise Linux 7.1 Kubernetes入門
PDF
Dockerイメージの理解とコンテナのライフサイクル
PDF
CentOS Linux 8 の EOL と対応策の検討
PDF
Dockerをすこーしさわってみる
PPTX
ラズパイ2で動く Docker PaaSを作ってみたよ
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Dockerハンズオン
Dockerハンズオン
RHEL Atomic Hostのご紹介
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
コンテナ情報交換会2
ProjectAtomic-and-geard
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
Docker & Kubernetes基礎
Red Hat Enterprise Linux 7.1 Kubernetes入門
Dockerイメージの理解とコンテナのライフサイクル
CentOS Linux 8 の EOL と対応策の検討
Dockerをすこーしさわってみる
ラズパイ2で動く Docker PaaSを作ってみたよ

More from Emma Haruka Iwao (20)

PDF
Friction Logging and Internal Advocacy, DevRel/Asia 2020
PDF
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
PDF
Google Cloud 一般公開データセット
PDF
Favorite English YouTube Channels
PDF
CephとGluster次期バージョンでの新機能
PDF
Git for Begineers GitHub ハンズオン
PDF
Docker, Kubernetes and OpenShift v3
PDF
Storage by Red Hat #rhcpday 2015
PDF
Docker向けOSとか[LT] @ #techgirl 2015/01
PDF
RHEL, CentOS 7 に移行しよう! LT
PPTX
分散ストレージ技術Cephの最新情報
PPTX
初心者が Python で戸惑ったところ
PDF
Ceph Loves OpenStack: Why and How
PPTX
Rails Girls: Not Only for Girls - RubyKaigi 2014
PPTX
AWS VM import / export ハンズオン
PPTX
Hello, systemd
PPTX
私がCephを好きな7つの理由
PPTX
Ceph アーキテクチャ概説
PPTX
EC2とLinuxディストロ事情
PPTX
What you need to know about ceph
Friction Logging and Internal Advocacy, DevRel/Asia 2020
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
Google Cloud 一般公開データセット
Favorite English YouTube Channels
CephとGluster次期バージョンでの新機能
Git for Begineers GitHub ハンズオン
Docker, Kubernetes and OpenShift v3
Storage by Red Hat #rhcpday 2015
Docker向けOSとか[LT] @ #techgirl 2015/01
RHEL, CentOS 7 に移行しよう! LT
分散ストレージ技術Cephの最新情報
初心者が Python で戸惑ったところ
Ceph Loves OpenStack: Why and How
Rails Girls: Not Only for Girls - RubyKaigi 2014
AWS VM import / export ハンズオン
Hello, systemd
私がCephを好きな7つの理由
Ceph アーキテクチャ概説
EC2とLinuxディストロ事情
What you need to know about ceph

Docker on RHEL & Project Atomic 入門 - #Dockerjp 4