为什么我的kubernetes webook仅在创建时而不是在更新时被调用?

时间:2019-03-27 21:53:48

标签: kubernetes

我有一个适用于kubernetes的变异登录钩。当我第一次使用头盔部署和应用程序时会调用它。但是当我使用头盔更新时,它没有被调用。实际上,如果我更改部署的版本号,它将调用它。但是,如果仅更改内容,那么它将跳过调用该挂钩。

如何使它始终为任何部署调用钩子?

这是我的钩子配置:

    apiVersion: admissionregistration.k8s.io/v1beta1
    kind: MutatingWebhookConfiguration
    metadata:
    name: appcfg-mutator
    webhooks:
    - name: appcfg-mutator.devops.primerica.com
        clientConfig:
        service:
            name: appcfg-mutator
            namespace: appcfg-mutator
            path: "/"
        caBundle: {{ .Values.webhook.caBundle }}
        rules:
        - operations: ["*"]
            apiGroups: [""]
            apiVersions: ["v1","v1beta1","v1beta2"]
            resources: ["pod","deployments","namespaces","services"]
        failurePolicy: Fail

我会在所有请求到达后立即对所有请求进行反序列化,然后对反序列化http rq主体进行记录,这样我就可以看到每次更新都不会调用它。仅在创建,删除或更改Yaml中的版本字段时。

1 个答案:

答案 0 :(得分:1)

结果是,我在转换器配置中输入“ pod”而不是“ pods”时有错字。另外,由于我实际上是在更改“部署”类Yaml,所以我误会并期望看到“部署”更新。它只是我需要的“豆荚”。

这是更正:

<td class="td-info view_data" id="<?php echo $row["Id"]; ?>" data-toggle="modal" href="#dataModal" width="20%" <?php echo $row["Status"] == '1'?' style="font-weight:bold" ':' style="font-weight:normal" '?>><?php echo $row["Assunto"]; ?></td>