Kubernetesってなにそれおいしいの?という人向けの超入門

36bb9dcd778d2a9621d44e92425d0907?s=47 hhiroshell
December 29, 2017

 Kubernetesってなにそれおいしいの?という人向けの超入門

初心者向けにKubernetesってなに?ということを説明する資料です。

cndjpのKubernetes基礎勉強会で使いました。
https://cnd.connpass.com/event/123046/

36bb9dcd778d2a9621d44e92425d0907?s=128

hhiroshell

December 29, 2017
Tweet

Transcript

  1. Cloud Native Developers JP Kubernetesってなにそれおいしいの? という人向けの超入門 @hhiroshell 1

  2. Cloud Native Developers JP • 早川 博(はやかわ ひろし) • 日本オラクル所属

    – Cloud Nativeな技術スタック担当のSA – Microservices / DevOps • 遊舎工房さんの店舗に行ってきた 自己紹介 @hhiroshell 2 ※ 遊舎工房さんの店舗はこちら
  3. Cloud Native Developers JP Kubernetes → コンテナ・オーケストレーター • Kubernetesは「コンテナ・オーケストレーション」をしてくれる ソフトウェアのひとつです。

    • こんてな・おーけすとれーしょん…? →次ページ以降で説明します。 3
  4. Cloud Native Developers JP そもそもコンテナって…。 • コンテナは仮想マシンの一種です。 • コンテナ型仮想化という技術をつかっています。 •

    そのおかげで、以下のような特徴があります。 – コンテナの容量が小さい →現実的な速度で、インターネット経由で受け渡しできます – 動作が軽い →1つのホストOS上でたくさんのコンテナを動かせます 4
  5. Cloud Native Developers JP 5 人類はコンテナを得た! コンテナ・レジストリ !@#$@^◦&|…×$ *@$◎*{}|&}# なコンテナ作ってみた!

    すげー、なんかわかんないけど 簡単に動くよこれ!便利ー! コンテナ
  6. Cloud Native Developers JP 人類はコンテナを得た! コンテナでがんがん 環境作る! コンテナ・レジストリ 6

  7. Cloud Native Developers JP だが、しかし…。 増やしすぎ… 軽くて集約できるもんだからついつい数が増えちゃう 7

  8. Cloud Native Developers JP コンテナの活用が始まって新たに明らかになった課題 • 様々な運用・管理のオペレーションを大量のコンテナに対して行う 必要がある • プロダクション規模のコンテナ群を扱うには、物理サーバーや従来

    型仮想化のときのような運用方法では対応しきれない リソースの空きがあ るホストを選択して コンテナをデプロイ する コンテナ同士の連携 (=通信)を管理し、 適切に制限をかける 負荷に応じて、 必要なコンテナを スケールする 障害で停止した コンテナを再起動 する …
  9. Cloud Native Developers JP そこで コンテナ・オーケストレーション ですよ! 9

  10. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること 10 大きなリソースのプール

  11. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること 動け! 11

  12. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること コンテナ化されたアプリ はい! 12

  13. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること コンテナ化されたアプリ はい! 13

  14. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること 利用者からのリクエスト わー! 14

  15. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること がんばれ! 15

  16. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること 16 はい! 自動で複数のマシンに分散配置 (HWを意識しない)

  17. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること アップグレード! 17

  18. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること はい! 自律的にローリングアップデート 18

  19. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること 19

  20. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること 20

  21. Cloud Native Developers JP コンテナ・オーケストレーションが実現すること わー! コンテナが落ちたら自動で新たに立ち上げる 21

  22. Cloud Native Developers JP Kubernetesは他のオーケストレーターと何が違うのか • 様々なOSSと組み合わせることにより、柔軟に機能拡張可能 22 • コンテナ運用をさらに効率化/高度化

    – 詳細なメトリック監視と可視化: • Prometheus + Grafana – コンテナのログの転送収集: • Fluentd / Fluent Bit – ネットワークトラフィックの制御: • Istio + Envoy • Kubernetesの適用領域の拡大 – 機械学習プラットフォーム: • Kubeflow – 分散ストレージ • Rook – 分散型データベース • Vitess
  23. Cloud Native Developers JP Kubernetesは他のオーケストレーターと何が違うのか • 本格的な宣言的オペレーションとInfrastructure as Codeを実現可能 •

    クラスター上にデプロイするシステムの構成をコードによって定義 – 運用オペレーションはコードの変更によって実施し、作業を簡素化する – 複数Kubernetesクラスターでの相互運用を実現する 23 Kuberenetesクラスター manifestファイル ✓ アプリ x 3 ✓ データストア x 2 ✓ アプリ→ データストアの通信を許可 ✓ …etc Kubernetesに適用
  24. Cloud Native Developers JP Fin. 24