設定 Webhook 逾時時間

本頁面說明如何設定 Config Connector 的 Webhook 超時。您可以在 Config Connector 1.110 以上版本中設定這些 Webhook。

設定驗證 Webhook 的逾時時間

您可以設定下列驗證 Webhook:

  • deny-immutable-field-updates.cnrm.cloud.google.com
  • deny-unknown-fields.cnrm.cloud.google.com
  • iam-validation.cnrm.cloud.google.com
  • resource-validation.cnrm.cloud.google.com
  • abandon-on-uninstall.cnrm.cloud.google.com

舉例來說,您可以建立並套用下列 YAML 檔案範例,設定驗證 Webhook 的逾時時間 deny-immutable-field-updates.cnrm.cloud.google.comdeny-unknown-fields.cnrm.cloud.google.com。這些 Webhook 是validating-webhook.cnrm.cloud.google.com 驗證 Webhook 設定的一部分。

  1. 建立名為 configure-validating-webhook-timeout.yaml 的檔案,並將下列 YAML 複製到該檔案:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: ValidatingWebhookConfigurationCustomization
    metadata:
      name: validating-webhook
    spec:
      webhooks:
      - name: deny-immutable-field-updates
        timeoutSeconds: 12
      - name: deny-unknown-fields
        timeoutSeconds: 15
    
  2. 使用 kubectl apply 將 Webhook 超時自訂設定套用至叢集:

    kubectl apply -f configure-validating-webhook-timeout.yaml
  3. 執行下列指令,確認設定是否成功:

    kubectl get validatingwebhookconfigurationcustomizations validating-webhook -o jsonpath='{.status.healthy}{"\n"}'

    應顯示設為 truestatus.healthy 欄位。

  4. 確認新的自訂逾時已套用至目標 Webhook:

    kubectl get validatingwebhookconfigurations validating-webhook.cnrm.cloud.google.com -o jsonpath='{.webhooks[?(@.name=="deny-immutable-field-updates.cnrm.cloud.google.com")].timeoutSeconds}{"\n"}'
    kubectl get validatingwebhookconfigurations validating-webhook.cnrm.cloud.google.com -o jsonpath='{.webhooks[?(@.name=="deny-unknown-fields.cnrm.cloud.google.com")].timeoutSeconds}{"\n"}'

    套用自訂設定可能需要幾分鐘。

設定異動 Webhook 的逾時時間

您可以設定下列變動 Webhook:

  • container-annotation-handler.cnrm.cloud.google.com
  • generic-defaulter.cnrm.cloud.google.com
  • iam-defaulter.cnrm.cloud.google.com
  • management-conflict-annotation-defaulter.cnrm.cloud.google.com

舉例來說,您可以建立並套用下列 YAML 檔案範例,設定變更 Webhook container-annotation-handler.cnrm.cloud.google.com 的逾時時間。Webhook 是mutating-webhook.cnrm.cloud.google.com 變動 Webhook 設定的一部分。

  1. 建立名為 configure-mutating-webhook-timeout.yaml 的檔案,並將下列 YAML 複製到該檔案:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: MutatingWebhookConfigurationCustomization
    metadata:
      name: mutating-webhook
    spec:
      webhooks:
      - name: container-annotation-handler
        timeoutSeconds: 20
    
  2. 使用 kubectl apply 將 Webhook 超時自訂設定套用至叢集:

    kubectl apply -f configure-mutating-webhook-timeout.yaml
  3. 執行下列指令,確認設定是否成功:

    kubectl get mutatingwebhookconfigurationcustomizations mutating-webhook -o jsonpath='{.status.healthy}{"\n"}'

    應顯示設為 truestatus.healthy 欄位。

  4. 確認新的自訂逾時已套用至目標 Webhook:

    kubectl get mutatingwebhookconfigurations mutating-webhook.cnrm.cloud.google.com -o jsonpath='{.webhooks[?(@.name=="container-annotation-handler.cnrm.cloud.google.com")].timeoutSeconds}{"\n"}'

    套用自訂設定可能需要幾分鐘。