第3章 PodDisruptionBudget [policy/v1]
- 説明
- PodDisruptionBudget は、Pod のコレクションに発生する可能性のある最大の中断を定義するオブジェクトです。
- 型
-
object
3.1. 仕様
プロパティー | 型 | 説明 |
---|---|---|
|
| APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できる場合があります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。 | |
|
| PodDisruptionBudgetSpec は、PodDisruptionBudget の説明です。 |
|
| PodDisruptionBudgetStatus は、PodDisruptionBudget のステータスに関する情報を表します。ステータスは、システムの実際の状態を追跡する場合があります。 |
3.1.1. .spec
- 説明
- PodDisruptionBudgetSpec は、PodDisruptionBudget の説明です。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| "セレクター" によって選択された最大で "maxUnavailable" が、削除後に使用できなくなった場合、つまり、削除された Pod がない場合でも、削除が許可されます。たとえば、0 を指定することで、すべての自発的なエビクションを防ぐことができます。これは、"minAvailable" との相互に排他的な設定です。 | |
| "セレクター" によって選択された少なくとも "minAvailable" Pod が、削除後も、つまり、削除された Pod がない場合でも使用できる場合は、削除が許可されます。したがって、たとえば、"100%" を指定することで、すべての自発的なエビクションを防ぐことができます。 | |
| エビクションが混乱予算によって管理されている Pod に対するラベルクエリー。null セレクターは Pod に一致しませんが、空 ({}) セレクターは名前空間内のすべての Pod を選択します。 |
3.1.2. .status
- 説明
- PodDisruptionBudgetStatus は、PodDisruptionBudget のステータスに関する情報を表します。ステータスは、システムの実際の状態を追跡する場合があります。
- 型
-
object
- 必須
-
disruptionsAllowed
-
currentHealthy
-
desiredHealthy
-
expectedPods
-
プロパティー | 型 | 説明 |
---|---|---|
| 条件には、PDB の条件が含まれています。中断コントローラーは、DisruptionAllowed 条件を設定します。理由フィールドの既知の値は次のとおりです (将来、追加の理由が追加される可能性があります)。-SyncFailed: コントローラーでエラーが発生し、許可された中断の数を計算できませんでした。したがって、中断は許可されず、状態のステータスは False になります。- InsufficientPods:Pod の数は、PodDisruptionBudget で必要な数以下です。中断は許可されず、状態のステータスは False になります。- SufficientPods:PodDisruptionBudget で必要とされるよりも多くの Pod があります。条件は True になり、許可される中断の数は、disruptionsAllowed プロパティーによって提供されます。 | |
|
| 健康な Pod の現在の数 |
|
| 正常な Pod の最小希望数 |
| DisruptedPods には、API サーバーのエビクションサブリソースハンドラーによってエビクションが処理されたにもかかわらず、PodDisruptionBudget コントローラーには監視されていない Pod に関する情報が含まれています。Pod は、API サーバーが削除要求を処理してから、PDB コントローラーによって削除のマークが付けられた (またはタイムアウト後) と見なされるまで、このマップに含まれます。マップのキーは Pod の名前であり、値は API サーバーがエビクションリクエストを処理した時刻です。削除が行われず、Pod がまだ存在する場合は、しばらくすると PodDisruptionBudget コントローラーによって自動的にリストから削除されます。すべてが順調に進んだ場合、このマップはほとんどの時間空になっているはずです。マップ内のエントリーの数が多い場合は、Pod の削除に問題があることを示している可能性があります。 | |
|
| 現在許可されている Pod の中断の数。 |
|
| この混乱の予算によってカウントされた Pod の総数。 |
|
| この PDB ステータスを更新するときに観察された最新の世代。DisruptionsAllowed およびその他のステータス情報は、observedGeneration が PDB のオブジェクト生成と等しい場合にのみ有効です。 |