はじめに

前回の記事の続きの記事になります

マニフェストファイル

リソース

14までは前回記事をご覧ください

15. PodDisruptionBudget(PDB)

対象のPodが最低限起動していることを保証するリソース

kubctl drainなどによってPodが一気に消えるケースがあり、Podが消えすぎないようにするためのリソース

16. Pod

Podを定義するためのリソース

基本的には直接使うことはあまりない

Deployment, StatefulSet, DaemonSetなどの振る舞いも含まれた上位互換のリソースがあるため

17. ReplicaSet

Podを複数起動するためのリソース

基本的には直接使うことはあまりない

Deployment, StatefulSet, DaemonSetなどのローリングアップデートなど細かい振る舞いも含まれた上位互換のリソースがあるため

18. HeadlessService

ServiceにおけるClusterIPの亜種

普通のServiceのClusterIPは、ClusterIP(仮想のIP)を割り当てて、Serviceの対象になるPodのどれかにリクエストを振り分けるロードバランシングを行う

HeadlessServiceは、仮想のIPを持たずに、実際にServiceの対象になるPodにIPを割り当てる

StatefulSetなどのロードバランシングされたくないPodに対して利用されることが多い

Helm

Clusterの動作を支えているものを深ぼっていく

1. 概念

機能は大きく3つ

  1. Gomplateを用いたk8sのマニフェストをテンプレートとして扱える(外から埋め込める値を定義できる)
  2. k8sのマニフェストの塊をパッケージ化して管理できる
  3. パッケージ単位でリリース管理できる

2. Chart

k8sのマニフェストのパッケージのことを指す

3. Values

Chartのテンプレートに埋め込む値を定義するためのファイル

4. Namespace

k8sのリソースをグルーピングするための概念

別々のNamespaceに同じ名前のリソースを作成することができる

また、別のNamespaceのリソースに干渉することはできない

5. Release

Chartを丸ごとリリースすることを指す

6. Helm Hooks

Chartの中で、特定のタイミングで実行されるリソースを定義できる

例えば、ローリングアップデートの前に実行されるリソースを定義することができる

参考