首页 > 解决方案 > 变异准入控制器不会在部署创建/更新时被调用

问题描述

我有一个运行良好的 ValidatingWebhookConfiguration 监控 Pod。我还有一个 MutatingWebhookConfiguration 监控(并最终变异)部署对象。

我有两个用 Go 编写的控制器。Mutating 的代码几乎是 Validating 的克隆。

在 ValidatingWebhookConfiguration 上,触发规则是:

 - operations: ["CREATE","UPDATE"]
   apiGroups: [""]
   apiVersions: ["v1"]
   resources: ["pods"]

它被触发得很好。

在 MutatingWebhookConfiguration 上,触发规则是:

 - operations: ["CREATE","UPDATE"]
   apiGroups: [""]
   apiVersions: ["v1beta1"]
   resources: ["deployments"]

我可以看到 webhook 正在启动,但我没有触发它。

我尝试过更改v1beta1extensions/v1beta1但仍然没有运气。

关于我做错了什么的任何想法?

我将不胜感激任何帮助。

谢谢,

-斯里尼

标签: kubernetes

解决方案


如果要对部署执行操作,则需要指定 api 组。对于部署,它是apps. 您可以使用以下命令获取 kubernetes 中所有资源的列表以及相应的 api 组:

$ kubectl api-resources        
NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KIND
bindings                                                                      true         Binding
...
deployments                       deploy       apps                           true         Deployment
...

推荐阅读