Kubernetes

luagate/kubernetes-introKubernetes入門20クラウド・インフラ

上から下へ、全 20 枚そのまま並べています。

発表モードで開く

Kubernetes入門

Kubernetes

コンテナを束ねて管理 〜自動運転の司令塔〜

1
1

目次

今日の流れ

1. コンテナの復習と課題

2. オーケストレーションとは

3. Kubernetesのしくみ

4. 自動化のうれしさと注意点

5. まとめと振り返り

2
2
Kubernetes入門 - イントロ

今日のゴール

この時間で身につけてほしいことです。

  • コンテナが増えすぎる問題を理解できる
  • オーケストレーションの役割が分かる
  • Kubernetesが「束ねる司令塔」だとイメージできる
  • 自動配置や自動復旧のうれしさが分かる
  • 学習コストの高さも正直におさえられる
10
3
Kubernetes入門 - イントロ

復習 コンテナとは

以前学んだコンテナとDockerを思い出すと、コンテナはアプリを軽い箱に詰めて動かす技術でした。

  • コンテナはアプリを詰めた軽い箱
  • OSの中核を共有して軽く動く
  • 設計図からイメージ、イメージからコンテナ
  • どこでも同じように動かせる
  • 今日はその箱がたくさんになった話
11
4
Kubernetes入門 - イントロ

コンテナが増えすぎる問題

便利なコンテナも、数が増えると人の手では管理しきれなくなります。

運用の限界

サービスが大きくなると、動かすコンテナは何十何百と増えていく。どれをどのサーバーに置くか、落ちたらどう直すか、増減をどうするかを人の手で見続けるのは難しくなる。

コンテナの数が一気に増える

どこに置くかの配置が複雑になる

落ちたコンテナの復旧が追いつかない

人手だけでは管理しきれなくなる

12
5

Kubernetes入門 - オーケストレーション

2

第2部 オーケストレーション

束ねて指揮するという発想

20
6
Kubernetes入門 - オーケストレーション

オーケストレーション とは

たくさんのコンテナを、ひとつの楽団のように指揮してまとめる仕組みです。

オーケストレーション(Orchestration)

多数のコンテナの配置や起動停止、増減、復旧などをまとめて自動で指揮する仕組み。指揮者が楽団全体を束ねるように、たくさんのコンテナを協調させて動かす。

多数のコンテナを束ねて指揮する

配置や起動停止を自動で行う

増減や復旧もまとめて面倒を見る

指揮者が楽団をまとめるイメージ

21
7
Kubernetes入門 - オーケストレーション

Kubernetes とは

コンテナのオーケストレーションを担う、最も広く使われている仕組みです。

Kubernetes(クバネティス、K8s)

多数のコンテナの配置や増減、復旧を自動で行うオーケストレーションの仕組み。コンテナの自動運転の司令塔として、世界中で広く使われている。K8sとも略される。

コンテナを束ねる司令塔

配置や増減を自動で行う

落ちても自動で立て直す

世界で広く使われる定番

23
8

Kubernetes入門 - しくみ

3

第3部 Kubernetesのしくみ

Podと自動化のはたらき

30
9
Kubernetes入門 - しくみ

Pod とは

Kubernetesが扱う、コンテナのいちばん小さなまとまりです。

Pod(ポッド)

Kubernetesがコンテナを動かす最小の単位。1つまたは複数の関係の深いコンテナをひとまとめにした入れ物で、司令塔はこのPodの単位で配置や増減を管理する。

コンテナを動かす最小の単位

関係の深いコンテナをまとめる

司令塔はPod単位で管理する

増やすときもPodごと増える

31
10
Kubernetes入門 - しくみ

司令塔がしてくれる3つの自動化

自動配置・自動復旧・オートスケールという3つの自動化が中心です。以前学んだロードバランシングのように、増えたPodへアクセスも均等に配られます。

自動配置
  • 空いているサーバーへ置く
  • 負荷を見て配り分ける
自動復旧
  • 落ちたPodを立て直す
  • あるべき数に戻す
オートスケール
  • 混んだら数を増やす
  • 空いたら数を減らす
32
11
Kubernetes入門 - しくみ

復旧にかかる手間(イメージ)

手作業で立て直すより、自動復旧のほうが手間がぐっと小さくなります。あくまでイメージです。

30 手間の目安24181260
30手間の目安
2手間の目安
手作業で復旧
自動復旧

出典: 復旧にかかる手間の傾向を示す概念図(概算)

33
12

Kubernetes入門 - 活用

4

第4部 自動化と注意点

宣言的な管理と学習コスト

40
13
Kubernetes入門 - 活用

宣言的な管理 とは

手順を細かく指示するのではなく、あるべき状態を伝えるだけで保ってもらう考え方です。

宣言的な管理(Declarative)

こう動かしてと手順を逐一指示するのではなく、最終的にこうあってほしいという状態を書いて渡す方式。司令塔はその状態になるよう自動で調整し、ずれたら自分で戻す。

望む状態を書いて渡すだけ

手順を細かく指示しない

ずれたら自動で元に戻す

常にあるべき姿を保ってくれる

41
14
Kubernetes入門 - 活用

あるべき状態を書く例

動かしたいPodの数などを書いて渡すと、司令塔がその状態を保ってくれます。

yaml
# 動かしたい状態を書く設定ファイル
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  # Podを3つ保ってほしい
  replicas: 3
42
15
Kubernetes入門 - 活用

うれしさと正直な注意点

自動化の恩恵は大きい一方で、学習コストの高さは正直に知っておきましょう。

うれしさ

  • 配置や復旧を自動でしてくれる
  • 負荷に合わせて伸び縮みする
  • あるべき状態を保ってくれる
  • 大規模な運用に強い

正直な注意点

  • 覚えることが多く学習コストが高い
  • 小さなサービスには大げさなことも
  • 設定を間違えると影響が大きい
  • 運用にも一定の知識が要る
43
16
Kubernetes入門 - まとめ
クイズ

振り返りクイズ

今日の内容を確認しましょう。

Kubernetesの主な役割として最も適切なものはどれ?

A
1つのコンテナを高速に作る設計図を書く
B
多数のコンテナの配置や復旧を自動で束ねて管理する
C
通信を暗号化して安全に届ける
D
データベースの中身を保存する
50
17
Kubernetes入門 - まとめ
答え

振り返りクイズ 解答

Kubernetesの主な役割として最も適切なものはどれ?

A
1つのコンテナを高速に作る設計図を書く
B
多数のコンテナの配置や復旧を自動で束ねて管理する
C
通信を暗号化して安全に届ける
D
データベースの中身を保存する

Kubernetesは多数のコンテナの配置や増減、復旧をまとめて自動で行うオーケストレーションの司令塔です。コンテナが増えすぎて人手で管理しきれない問題を解決してくれます。

51
18
Kubernetes入門 - まとめ

質疑・次回予告

今日のまとめと、次に学ぶテーマです。質問があればここで受け付けます。

今日のおさらい
  • Kubernetesはコンテナを束ねる司令塔
  • 自動配置・自動復旧・オートスケール
  • あるべき状態を書いて任せられる
次回予告
  • オートスケーリングと可用性設計 〜落ちない・無駄ない〜
  • 負荷に応じて伸縮し、落ちない設計を学ぶ
52
19
"

Kubernetesは増えすぎたコンテナを束ねる自動運転の司令塔。配置も復旧も増減も自動でこなし、あるべき状態を保ち続ける。学ぶことは多いけれど、大規模な運用を支える頼もしい存在です。

Kubernetes入門

53
20