Slide 1

Slide 1 text

enza SRE担当 青木 佑弥(mend) 1年目でもわかるkubernetes

Slide 2

Slide 2 text

どなた? - enza で インフラ周りの仕事をしています - Tech inside Drecom で記事も書いてます - 好きなもの:美味しい食べ物 - 嫌いなもの:体重計

Slide 3

Slide 3 text

突然ですが皆さん

Slide 4

Slide 4 text

kubernetes をご存知でしょうか?

Slide 5

Slide 5 text

Q. 「kubernetes」とは? - 配属されてすぐのぼく -

Slide 6

Slide 6 text

- 配属されてすぐのぼく - ( ᐛ )「なんかイマドキのシステムです!」 Q. 「kubernetes」とは?

Slide 7

Slide 7 text

Q. 「kubernetes」とは? - 配属されてすぐのぼく - ( ᐛ )「なんかイマドキのシステムです!」 - ( ᐛ ) (.......言葉しかわからん)

Slide 8

Slide 8 text

Q. 「kubernetes」とは? - 配属されてすぐのぼく - ( ᐛ )「なんかイマドキのシステムです!」 - ( ᐛ ) (.......言葉しかわからん) → 5ヶ月後にはkubernetesを触り始める

Slide 9

Slide 9 text

とならないように 1年目でもわかるkubernetes やっていきます

Slide 10

Slide 10 text

今日について - わかって欲しいこと - kubernetes がどのような作りになっているのか - kubernetes の便利なところ - 話さないところ - 具体的なコード - 細かい仕組みや作り方など

Slide 11

Slide 11 text

アジェンダ - kubernetes とは? - なぜ Docker と関係があるのか? - kubernetes の簡単な仕組み - なぜコンテナを使うのか? - まとめ

Slide 12

Slide 12 text

kubernetes とは?

Slide 13

Slide 13 text

kubernetes とは? Kubernetesドキュメント:Kubernetesとは何か? https://kubernetes.io/ja/docs/concepts/overview/what-is-kubernetes/ Kubernetesは、宣言的な構成管理と自動化を促進し、コンテナ化されたワークロー ドやサービスを管理するための、ポータブルで拡張性のあるオープンソースのプ ラットフォームです。Kubernetesは巨大で急速に成長しているエコシステムを備え ており、それらのサービス、サポート、ツールは幅広い形で利用可能です。


Slide 14

Slide 14 text

kubernetes とは? Kubernetesドキュメント:Kubernetesとは何か? https://kubernetes.io/ja/docs/concepts/overview/what-is-kubernetes/ Kubernetesは、宣言的な構成管理と自動化を促進し、コンテナ化されたワークロー ドやサービスを管理するための、ポータブルで拡張性のあるオープンソースのプ ラットフォームです。Kubernetesは巨大で急速に成長しているエコシステムを備え ており、それらのサービス、サポート、ツールは幅広い形で利用可能です。
 ?


Slide 15

Slide 15 text

kubernetes とは? Kubernetesドキュメント:Kubernetesとは何か? https://kubernetes.io/ja/docs/concepts/overview/what-is-kubernetes/ Kubernetesは、宣言的な構成管理と自動化を促進し、コンテナ化されたワークロー ドやサービスを管理するための、ポータブルで拡張性のあるオープンソースのプ ラットフォームです。Kubernetesは巨大で急速に成長しているエコシステムを備え ており、それらのサービス、サポート、ツールは幅広い形で利用可能です。
 ?
 いやなんもわからん


Slide 16

Slide 16 text

ざっくりkubernetes とは? - 「コンテナ」という形になったアプリケーションを管理するシステム - オープンソース - 構成を宣言して使用する - 自動で様々な機能が動く - 色々な場所で使用できる - 高い拡張性がある mendの解釈です

Slide 17

Slide 17 text

なぜ Docker と関係があるのか?

Slide 18

Slide 18 text

- kubernetesの本、Dockerの解説と一緒になりがち - Dockerの仕組みを知ってから勉強するとわかりやすい - kubernetes は Docker コンテナの image を使用している なぜ Docker と関係があるのか?

Slide 19

Slide 19 text

- kubernetesの本、Dockerの解説と一緒になりがち - Dockerの仕組みを知ってから勉強するとわかりやすい - kubernetes は Docker コンテナの image を使用している なぜ Docker と関係があるのか?

Slide 20

Slide 20 text

- kubernetesの本、Dockerの解説と一緒になりがち - Dockerの仕組みを知ってから勉強するとわかりやすい - kubernetes は Docker コンテナの image を使用している なぜ Docker と関係があるのか? コンテナA コンテナB ・・・・・・

Slide 21

Slide 21 text

kubernetesの簡単な仕組み

Slide 22

Slide 22 text

- Cluster - Master (Control Plane) - Worker Node - Pod kubernetes の簡単な仕組み

Slide 23

Slide 23 text

kubernetes の簡単な仕組み - Cluster - Master と Worker Node の集合のこと

Slide 24

Slide 24 text

kubernetes の簡単な仕組み - Master (Control Plane) - Cluster に対して命令を行うサーバー

Slide 25

Slide 25 text

kubernetes の簡単な仕組み - Worker Node - Podを動かすためのサーバー

Slide 26

Slide 26 text

kubernetes の簡単な仕組み - Pod - アプリケーションが動くコンテナの塊

Slide 27

Slide 27 text

- Cluster - Master と Worker Node の集合のこと - Master (Control Plane) - クラスターに対して命令を行うサーバー - Worker Node - Podを動かすためのサーバー - Pod - アプリケーションが動くコンテナの塊 kubernetes の簡単な仕組み

Slide 28

Slide 28 text

なぜコンテナを使うのか?

Slide 29

Slide 29 text

これまでのアプリケーションの提供方法(複数台のサーバー) - 仮想化ができる前のデプロイ - 物理サーバーにそれぞれアプリケーションを動かす環境を構築 - 冗長化がすごい面倒 なぜコンテナを使うのか?

Slide 30

Slide 30 text

OS・言語・パッケージの インストール ↓ ミドルウェアの インストール ↓ アプリケーション起動 これまでのアプリケーションの提供方法(複数台のサーバー) - 仮想化ができる前のデプロイ - 物理サーバーにそれぞれアプリケーションを動かす環境を構築 - 冗長化がすごい面倒 なぜコンテナを使うのか? 冗長化するサーバーの台数ごとに繰り返す

Slide 31

Slide 31 text

これまでのアプリケーションの提供方法(複数台のサーバー) - 仮想化を使ったデプロイ - 1台の大きなサーバーに複数の仮想マシンを用意 - 仮想マシン内でOSも動かすのでオーバーヘッドが大きい なぜコンテナを使うのか?

Slide 32

Slide 32 text

これまでのアプリケーションの提供方法(複数台のサーバー) - 仮想化を使ったデプロイ - 1台の大きなサーバーに複数の仮想マシンを用意 - 仮想マシン内でOSも動かすのでオーバーヘッドが大きい なぜコンテナを使うのか? OS・言語・パッケージの インストール ↓ ミドルウェアの インストール ↓ アプリケーション起動 仮想化 冗長化したい台数を一気に起動

Slide 33

Slide 33 text

これまでのアプリケーションの提供方法(複数台のサーバー) - コンテナを使ったデプロイ - アプリケーション間でOSを共有して起動するから軽い - 起動が高速 - コマンド1つでたくさん起動できる なぜコンテナを使うのか?

Slide 34

Slide 34 text

これまでのアプリケーションの提供方法(複数台のサーバー) - コンテナを使ったデプロイ - アプリケーション間でOSを共有して起動するから軽い - 起動が高速 - コマンド1つでたくさん起動できる なぜコンテナを使うのか? OS Docker コンテナ アプリ コンテナ アプリ ・・・・・・・

Slide 35

Slide 35 text

なぜコンテナを使うのか? リソース的、作業的にも効率良くアプリケーションを運用できるから - 仮想化ができる前のデプロイ - 物理サーバーにそれぞれアプリケーションを動かす環境を構築 - 冗長化がすごい面倒 - 仮想化を使ったデプロイ - 1台の大きなサーバーに複数の仮想マシンを用意 - 仮想マシン内でOSも動かすのでオーバーヘッドが大きい - コンテナを使ったデプロイ - アプリケーション間でOSを共有して起動するから軽い - 起動が高速

Slide 36

Slide 36 text

まとめ

Slide 37

Slide 37 text

まとめ - ざっくり kubernetes とは? - 「コンテナ」化されたアプリケーションを管理するシステム - なぜ Docker と関係があるのか? - コンテナイメージを使用しているから - kubernetes の簡単な仕組み - Cluster, Master, Worker Node, Podで構成されている - なぜコンテナを使うのか? - リソース的、作業的にも効率良くアプリケーションを運用できる