Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

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

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 45 Publicité

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

Télécharger pour lire hors ligne

Red Hat Enterprise Linux 7 上でのDockerのステータス、使い方の解説と、Project Atomicをはじめとして、CentOS Atomic Host, RHEL Atomic Hostの解説。CentOS Atomic HostでKubernetesを使うチュートリアル。

Red Hat Enterprise Linux 7 上でのDockerのステータス、使い方の解説と、Project Atomicをはじめとして、CentOS Atomic Host, RHEL Atomic Hostの解説。CentOS Atomic HostでKubernetesを使うチュートリアル。

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (20)

Publicité

Similaire à Docker on RHEL & Project Atomic 入門 - #Dockerjp 4 (20)

Plus par Emma Haruka Iwao (20)

Publicité

Plus récents (20)

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

  1. 1. Docker on RHEL & ! Project Atomic 入門 Haruka Iwao Docker Meetup #4 2015/01/17
  2. 2. おことわり •  正確な情報を提供するように努めていま すが、無保証です。 •  必ずしも会社の公式見解ではありません •  製品の正確な情報が必要な場合は、レッ ドハットにお問い合わせください
  3. 3. わたしはだれ? •  岩尾 はるか (@Yuryu) •  レッドハットで働いています – ストレージソリューションアーキテクト兼ク ラウドエヴァンジェリスト(何でもやる) •  Final Fantasy XIV プレイヤー – Carbuncle サーバー、学メイン – バハ真成編4層をクリアしました •  Ingress 緑エージェント(A11)
  4. 4. Linuxカーネル本(宣伝) •  Linux Kernel Updates” •  最新刊 – OOM Killer特集 – ジュンク堂池袋店で買 えます! •  既刊 – Docker, TCP/IP特集など – Kindle版売ってます
  5. 5. あらすじ •  Red HatとDocker •  Project Atomic •  Try CentOS Atomic Host •  デモ
  6. 6. Red HatとDocker
  7. 7. その前に
  8. 8. Fedora, RHEL, CentOS •  代表的な3種類の「Red Hat系」Linuxディ ストリビューション
  9. 9. 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のソース を元に、商標を 取り除き再ビル ド 価格 無償 有償 無償 サポート なし あり なし
  10. 10. リリース間隔イメージ =1年ちょっと
  11. 11. RHELとCentOSの関係 •  ソースコードレベルでは、商標の変更を 除いてほぼ同じ •  機能は同じ。バグも同じ。 •  リリースは基本的にRHELが先 – 数週間程度ずれる •  今日はRHELといいますが、おうちで試す ときはCentOSでも同じです – サポートが必要な場面ではRHELを買ってね!
  12. 12. Red HatとDocker
  13. 13. Red Hatの取り組み •  RHELへの移植 •  Device mapper thin-provisioning への対応 – ディスク性能の向上 •  Systemd 統合 •  SELinux 対応 •  DockerConスポンサー •  Kubernetes開発に参加 http://blog.docker.com/2014/06/keynote-videos-from-dockercon14/
  14. 14. Docker on RHEL •  Red Hat Enterprise Linux 7ではDockerが 正式サポート – 「Extras」チャンネルでの提供 – ミッションクリティカル非推奨
  15. 15. Extrasチャンネルとは •  通常のRHELのパッケージは、一つのメ ジャーバージョンの中ではrebaseしない – 例えばRHEL7の間、Apacheのバージョンは 2.4.6のまま – 新機能やバグ修正は都度マージ&テスト •  Extrasはrebaseします – 常に最新版を使っていただく状態を想定 – リリース間隔も短い https://access.redhat.com/support/policy/updates/extras
  16. 16. ミッションクリティカル非推奨 •  頻繁にrebase、リリースされるので、す ごく重要な場所には使わないでね •  サポートが限定的 – Severity 3 (Medium)が最大になります – 24/365 応答しません •  個別にはご相談ください •  RHEL 7.1からこの制限は無くなる予定 https://access.redhat.com/solutions/907283
  17. 17. コンテナの互換性 •  技術的な観点ではなく、サポートの可否 •  ホストとコンテナともにx86_64のみ コンテナ ホスト サポート可否 RHEL 5以前 RHEL 7 × RHEL 6 RHEL 7 ○ RHEL 7 RHEL 7 ○ RHEL 以外 (CentOS, Ubuntu, etc…) RHEL 7 × RHEL RHEL 以外 ×
  18. 18. 続・コンテナの互換性 •  カーネルを載せ替えて、本当に大丈夫? •  /proc や /sys に依存するアプリケーション は、正しく動かないことも •  システムコールの微妙な変更がアプリを 壊すことも – 例: A kernel change breaks GlusterFS – https://lwn.net/Articles/544298/   •  RHELでは互換性を担保、サポート
  19. 19. Getting Started with Docker •  RHEL 7でDockerを動かすチュートリアル •  https://access.redhat.com/articles/881893   •  CentOS 7でも基本的には同じ – チャンネルは無いので、単に yum install docker でインストールできる – firewalld を disable & stop するのを忘れずに
  20. 20. Project Atomic
  21. 21. Project Atomic とは •  Atomic Host を作っているプロジェクト •  小さなOS+コンテナのためのツールを セットで提供 •  コンテナのためのプラットフォーム
  22. 22. Project Atomic ベースのOS •  Fedora Atomic – Fedora と同じように、新機能開発のベース •  Red Hat Enterprise Linux Atomic Host – 商用版でサポート付きの安定版 – 現在ベータ版提供中 •  CentOS Atomic Host – CentOSをベースにAtomic Hostの機能を追加 – RHEL Atomic Hostとは独自に開発(今のとこ)
  23. 23. Ubuntu Coreとの違い •  Ubuntu Core – コンテナイメージを作るための最低限のOS – tarで提供され、Dockerにインポートして使う – ホストOSでは無い •  Atomic Host – コンテナを実行するためのホストOS – 仮想マシンイメージで提供される – コンテナ内OSでは無い
  24. 24. 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でした。お詫び して訂正します。
  25. 25. CoreOSとの違い •  非常によく似ているライバル •  標準ツール – CoreOS: etcd, fleet – Atomic Host: etcd, kubernetes •  思想が少し違う – CoreOS: 一からコンテナのために出発 – Atomic Host: 既存OSをコンテナに最適化 •  どっち使えばいいの?→Atomic Host好み
  26. 26. RHELとAtomic Hostの違い •  yum が無い •  OS自体はrpm-ostree でupgrade/rollback •  Docker, etcd, Kubernetesが標準で入る •  ファイルシステムが大部分読み込み専用 •  リリースサイクル、サブスクリプション の詳細などは少しお待ちを…!
  27. 27. リソース消費量を比べてみた メモリ ディスク(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を動かした状態 実測値です。環境によって変わります。
  28. 28. Try CentOS Atomic Host
  29. 29. CentOS Atomic Host •  CentOS をベースに Project Atomic の成果 を追加 •  標準で Docker, Kubernetes, Cockpit, Etcd , cloud-initが入っている •  スナップショットが利用可能
  30. 30. CentOS Atomic の入手先 •  http://buildlogs.centos.org/ rolling/7/isos/x86_64/   •  定期的にビルドされるスナップショット が入手可能 •  qcow2 イメージ – KVMで使うか、変換して使う
  31. 31. イメージのセットアップ •  cloud-init が動くようになっているので、 メタデータ、設定を用意 •  今回はisoで読ませる方法を解説
  32. 32. 用意するファイル 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;
  33. 33. ファイルをisoにする $  genisoimage  -­‐output  init.iso          -­‐volid  cidata  –joliet          -­‐rock  user-­‐data  meta-­‐data init.isoをマウントすると 起動時にcloud-initが読み込む
  34. 34. ちょっと面倒と思った?
  35. 35. Vagrant Boxを作りました
  36. 36. Vagrant で CentOS Atomic $  vagrant  init  yuryu/centos-­‐atomic   $  vagrant  up •  公式ではありません •  VirtualBox Additions は入っていません •  20141129版のqcow2をもとに作成 •  id: centos, password: vagrant 注意
  37. 37. 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/  
  38. 38. 前準備(バグ対応) #  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   現在のスナップショットにはバグがあって、対応が必要。
  39. 39. デーモン起動&確認 #  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>出力:
  40. 40. 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  
  41. 41. ログの確認 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
  42. 42. 動作確認と終了 動作確認 #  curl  http://localhost     結果:     終了 #  kubectl  delete  pod  fedoraapache   Apache
  43. 43. デモ
  44. 44. まとめ •  Atomic Host = コンテナ向けOS – Docker, Kubernetes, Etcd などを標準搭載 – 従来のOSから出発して改良 •  RHEL 7ではDockerをサポート •  RHEL Atomic Host と CentOS Atomic Host は別プロジェクト •  Atomic Host は簡単に試せる
  45. 45. Thank you!

×