Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Cloud Native Developers JP • 早川 博(はやかわ ひろし) • 日本オラクル所属 – Cloud Nativeな技術スタック担当のSA – Microservices / DevOps • 遊舎工房さんの店舗に行ってきた 自己紹介 @hhiroshell 2 ※ 遊舎工房さんの店舗はこちら

Slide 3

Slide 3 text

Cloud Native Developers JP Kubernetes → コンテナ・オーケストレーター • Kubernetesは「コンテナ・オーケストレーション」をしてくれる ソフトウェアのひとつです。 • こんてな・おーけすとれーしょん…? →次ページ以降で説明します。 3

Slide 4

Slide 4 text

Cloud Native Developers JP そもそもコンテナって…。 • コンテナは仮想マシンの一種です。 • コンテナ型仮想化という技術をつかっています。 • そのおかげで、以下のような特徴があります。 – コンテナの容量が小さい →現実的な速度で、インターネット経由で受け渡しできます – 動作が軽い →1つのホストOS上でたくさんのコンテナを動かせます 4

Slide 5

Slide 5 text

Cloud Native Developers JP 5 人類はコンテナを得た! コンテナ・レジストリ !@#$@^○&|…×$ *@$◎*{}|&}# なコンテナ作ってみた! すげー、なんかわかんないけど 簡単に動くよこれ!便利ー! コンテナ

Slide 6

Slide 6 text

Cloud Native Developers JP 人類はコンテナを得た! コンテナでがんがん 環境作る! コンテナ・レジストリ 6

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

Cloud Native Developers JP コンテナの活用が始まって新たに明らかになった課題 • 様々な運用・管理のオペレーションを大量のコンテナに対して行う 必要がある • プロダクション規模のコンテナ群を扱うには、物理サーバーや従来 型仮想化のときのような運用方法では対応しきれない リソースの空きがあ るホストを選択して コンテナをデプロイ する コンテナ同士の連携 (=通信)を管理し、 適切に制限をかける 負荷に応じて、 必要なコンテナを スケールする 障害で停止した コンテナを再起動 する …

Slide 9

Slide 9 text

Cloud Native Developers JP そこで コンテナ・オーケストレーション ですよ! 9

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Cloud Native Developers JP Kubernetesは他のオーケストレーターと何が違うのか • 様々なOSSと組み合わせることにより、柔軟に機能拡張可能 22 • コンテナ運用をさらに効率化/高度化 – 詳細なメトリック監視と可視化: • Prometheus + Grafana – コンテナのログの転送収集: • Fluentd / Fluent Bit – ネットワークトラフィックの制御: • Istio + Envoy • Kubernetesの適用領域の拡大 – 機械学習プラットフォーム: • Kubeflow – 分散ストレージ • Rook – 分散型データベース • Vitess

Slide 23

Slide 23 text

Cloud Native Developers JP Kubernetesは他のオーケストレーターと何が違うのか • 本格的な宣言的オペレーションとInfrastructure as Codeを実現可能 • クラスター上にデプロイするシステムの構成をコードによって定義 – 運用オペレーションはコードの変更によって実施し、作業を簡素化する – 複数Kubernetesクラスターでの相互運用を実現する 23 Kuberenetesクラスター manifestファイル ✓ アプリ x 3 ✓ データストア x 2 ✓ アプリ→ データストアの通信を許可 ✓ …etc Kubernetesに適用

Slide 24

Slide 24 text

Cloud Native Developers JP Fin. 24