前回に引き続き、Kubernetesです。
Kubernetesの登場人物
こちらの動画がとても分かりやすかったのでこちらを元に登場人物をまとめました。高良さん、本当にありがとうございます・・(TAT)
www.youtube.com
コンテナ
アプリケーションと実行環境がセットになったもの、まとまっているので環境ごとの展開が容易になる
ポッド
1つ以上のコンテナとそれらの共有リソースを指す、固有のIPアドレスを持ち、ワーカーノード上で動作する
ワーカーノード
VMまたは物理マシン、マスターノードの指示を受けて複数のポッドを管理する
マスターノード
ワーカーノードに不具合があった際に、他のワーカーノードへ処理の振り分けを行う等して複数のワーカーノードを管理する
クラスタ
ノードのグループを指す、マスターノード + 1つ以上のワーカーノードで構成される
指示書(Manifest)
ノードやポッドの増減、振り分けによる負荷分散などの設定が書かれたもの、YAMLやJSONで書く
司令官
指示書を書いて、それをコマンドとして実行する人、つまり開発者
全体構成
ここまでの全体構成はこんな感じです。
コントローラ
マスターノード内にあり、ポッドのスケール(増減)、サービス停止なしのポッド交換などを自動実行する機能たち
Service
ユーザ(インターネット)からの要求に対して適切なノード・ポッドへ処理を振り分ける役割を担う
Ingress
ユーザとServiceの間に立って適切なServiceへの振り分けを担う、パスベースロードバランス等
ReplicaSet
設定したポッド数を作成する、ポッドに不具合を検知して速やかに新しいポッドを作成して、常に設定したポッド数を維持しようとする
Deployment
ReplicaSetの管理を行う、ローリングアップデートと呼ばれる方法でポッドのスケールアップ/ダウンをほぼサービス停止なしで行う
まとめ
今回はKubernetesの登場人物とコントローラについて書きました。この他にも素晴らしい機能が沢山あるのですが書き出したら切りが無い・・
概念だけではなく実際に操作してみたいという方はこちらの「Katacoda」というサイトではハンズオンでKubernetesを学習することが出来ます。アカウント登録が必要ですが、Dockerの学習もできるので登録しておいて損はないです。(2020/6/20時点)
www.katacoda.com
ちなみにマネージド版Kubernetesはこちらのサイトでパブリッククラウド御三家の比較について説明がしてあって面白い
g3-enterprise.com