Open7

Kubernetes学習記録

ふろんふろん

Pod

k8sのデプロイの最小単位。
1つ以上のコンテナの集合と、共通のネットワークとストレージ、それらのコンテナの実行方法の設定からなる。
namespaces, cgroupなどを共有している。

ふろんふろん

Volume

データを永続化できる。コンテナやPodが削除・クラッシュしてもVolumeのデータは残る。
また、Pod内でのコンテナ間のデータ共有にも使える。

emptyDirはPodが消えると消えてしまう、残したい場合はhostPathを使う。これらは、別のサーバー間では共有されないので、実際にはgcePersistentDiskやawsElasticBlockStoreやcisやnfsを使う。

ふろんふろん

Init Container

Podのコンテナが起動する前に実行される。複数ある場合は順に実行される。
一方で、App Containerは並行して実行される。

ふろんふろん

Lifecycle

PodにはPending, Running, Succeeded, Failed, Unknownの5つのphaseがある。
コンテナの開始直後と終了直前にpostStartとpreStopというhookを挿入できる。

ふろんふろん

ReplicaSet

指定した数のPodを複製し、実行してくれる。

ふろんふろん

Deployment

ReplicaSetの状態を宣言した状態に保ってくれる。
Podのrolling update, rolloutの履歴管理、rollbackなどをdeclarativeに行ってくれる。Podを直接管理するのではなくReplicaSetを管理する。Deploymentを変更した場合は新しいReplicaSetが作成されてPodを置き換える。