Configura il timeout del webhook


Questa pagina descrive come configurare il timeout del webhook per Config Connector. Puoi configurare questi webhook in Config Connector versione 1.110 e successive.

Configura il timeout per la convalida dei webhook

Puoi configurare i seguenti webhook di convalida:

  • 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

Ad esempio, puoi configurare il timeout per la convalida dei webhook deny-immutable-field-updates.cnrm.cloud.google.com e deny-unknown-fields.cnrm.cloud.google.com creando e applicando il file YAML di esempio seguente. Questi webhook fanno parte della configurazione della validating-webhook.cnrm.cloud.google.com configurazione dei webhook di convalida.

  1. Crea un file denominato configure-validating-webhook-timeout.yaml e copia il seguente codice YAML al suo interno:

    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. Utilizza kubectl apply per applicare la personalizzazione del timeout del webhook al cluster:

    kubectl apply -f configure-validating-webhook-timeout.yaml
  3. Verifica la corretta configurazione eseguendo questo comando:

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

    Dovrebbe essere visualizzato il campo status.healthy impostato su true.

  4. Verifica che il nuovo timeout personalizzato sia stato applicato ai webhook di destinazione:

    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"}'

    L'applicazione della personalizzazione potrebbe richiedere alcuni minuti.

Configura il timeout per i webhook mutanti

Puoi configurare i seguenti webhook mutanti:

  • 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

Ad esempio, puoi configurare il timeout del webhook mutante container-annotation-handler.cnrm.cloud.google.com creando e applicando il seguente file YAML di esempio. Il webhook fa parte della configurazione della mutating-webhook.cnrm.cloud.google.com modifica della configurazione del webhook.

  1. Crea un file denominato configure-mutating-webhook-timeout.yaml e copia il seguente codice YAML al suo interno:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: MutatingWebhookConfigurationCustomization
    metadata:
      name: mutating-webhook
    spec:
      webhooks:
      - name: container-annotation-handler
        timeoutSeconds: 20
    
  2. Utilizza kubectl apply per applicare la personalizzazione del timeout del webhook al cluster:

    kubectl apply -f configure-mutating-webhook-timeout.yaml
  3. Verifica la corretta configurazione eseguendo questo comando:

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

    Dovrebbe essere visualizzato il campo status.healthy impostato su true.

  4. Verifica che il nuovo timeout personalizzato sia stato applicato ai webhook di destinazione:

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

    L'applicazione della personalizzazione potrebbe richiedere alcuni minuti.