Awesome
sample-webhook
CloudNative Days Tokyo 2022のセッション「Kubernetes Admission Webhook Deep Dive」のサンプルプログラムです。
- セッション情報
- スライド
- 補足記事
サンプルプログラムの実行方法
- Docker をインストール
- aqua をインストール
- Kubernetes クラスターを起動
make start
- tilt を起動します
tilt up
- http://localhost:10350/ にアクセス
実装している Webhook
- api/v1/sampleresource_webhook.go
- Defaulter/Validator を利用
- カスタムリソースの Mutating と Validating を実装
- hooks/pod_webhook.go
- CustomDefaulter を利用
- Pod の imagePullPolicy を強制的に上書き
- hooks/namespace_webhook.go
- CustomValidator を利用
- アノテーションの付与されていない Namespace の削除を禁止
- hooks/deployment_webhook.go
- Handler を利用
- deployments リソースと deployments/scale サブリソースに対応
- replicas の範囲を制限