はじめに
前回の記事の続きの記事になります
マニフェストファイル
リソース
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つ
- Gomplateを用いたk8sのマニフェストをテンプレートとして扱える(外から埋め込める値を定義できる)
- k8sのマニフェストの塊をパッケージ化して管理できる
- パッケージ単位でリリース管理できる
2. Chart
k8sのマニフェストのパッケージのことを指す
3. Values
Chartのテンプレートに埋め込む値を定義するためのファイル
4. Namespace
k8sのリソースをグルーピングするための概念
別々のNamespaceに同じ名前のリソースを作成することができる
また、別のNamespaceのリソースに干渉することはできない
5. Release
Chartを丸ごとリリースすることを指す
6. Helm Hooks
Chartの中で、特定のタイミングで実行されるリソースを定義できる
例えば、ローリングアップデートの前に実行されるリソースを定義することができる