ミューテーティングWebhook(みゅーてーてぃんぐうぇぶふっく)
最終更新:2026/4/27
ミューテーティングWebhookは、Kubernetes APIサーバーにリクエストが送信された際に、オブジェクトを生成または更新する前に変更を加えるWebhookである。
別名・同義語 変更Webhookオブジェクト変更Webhook
ポイント
ミューテーティングWebhookは、リクエストを認可する前にオブジェクトを修正することで、ポリシーの適用やデフォルト値の設定を自動化する。
ミューテーティングWebhookとは
ミューテーティングWebhookは、KubernetesのAPIサーバーがオブジェクト(Pod, Deploymentなど)の作成または更新を受け取った際に、そのオブジェクトの内容を動的に変更するための仕組みです。Webhookは、APIサーバーによって呼び出され、オブジェクトの定義を修正してから、Kubernetesクラスタに保存されます。
動作原理
- リクエストの受信: ユーザーまたはコントローラーがKubernetes APIサーバーにオブジェクトの作成または更新リクエストを送信します。
- Webhookの呼び出し: APIサーバーは、設定されたミューテーティングWebhookを呼び出します。
- オブジェクトの変更: Webhookは、受信したオブジェクトの定義を分析し、必要に応じて変更を加えます。例えば、ラベルの追加、環境変数の設定、リソース制限の調整などを行います。
- 変更されたオブジェクトの返却: Webhookは、変更されたオブジェクトの定義をAPIサーバーに返却します。
- オブジェクトの保存: APIサーバーは、Webhookによって変更されたオブジェクトの定義をKubernetesクラスタに保存します。
用途
- ポリシーの適用: 特定のラベルを強制的に追加したり、禁止されている設定を削除したりすることで、クラスタ全体のポリシーを適用できます。
- デフォルト値の設定: オブジェクトにデフォルト値が設定されていない場合に、自動的に設定を追加できます。
- セキュリティの強化: セキュリティ関連の設定を自動的に適用し、脆弱性を軽減できます。
- 自動化: オブジェクトの作成または更新プロセスを自動化し、人的ミスを減らすことができます。
設定方法
ミューテーティングWebhookは、MutatingWebhookConfigurationというKubernetesリソースを使用して設定します。このリソースでは、WebhookのURL、呼び出すタイミング、対象となるオブジェクトの種類などを指定します。
注意点
- Webhookの処理時間が長すぎると、APIサーバーの応答時間が遅延する可能性があります。
- Webhookがエラーを返した場合、リクエストは拒否されます。
- Webhookのセキュリティを確保し、不正なアクセスを防ぐ必要があります。