Configurer le délai avant expiration du webhook


Cette page explique comment configurer le délai avant expiration du webhook pour Config Connector. Vous pouvez configurer ces webhooks dans Config Connector 1.110 et versions ultérieures.

Configurer le délai avant expiration pour les webhooks de validation

Vous pouvez configurer les webhooks de validation suivants :

  • 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

Par exemple, vous pouvez configurer le délai avant expiration de la validation des webhooks deny-immutable-field-updates.cnrm.cloud.google.com et deny-unknown-fields.cnrm.cloud.google.com en créant et en appliquant dans l'exemple de fichier YAML suivant. Ces webhooks font partie de la configuration de la configuration du webhook de validation validating-webhook.cnrm.cloud.google.com.

  1. Créez un fichier nommé configure-validating-webhook-timeout.yaml et copiez le le fichier YAML suivant:

    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. Utiliser kubectl apply pour appliquer la personnalisation du délai avant expiration du webhook à votre cluster:

    kubectl apply -f configure-validating-webhook-timeout.yaml
  3. Vérifiez que la configuration a réussi en exécutant la commande suivante :

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

    Le champ status.healthy doit s'afficher sur true.

  4. Vérifiez que le nouveau délai avant expiration personnalisé a été appliqué aux webhooks cibles:

    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'application de la personnalisation peut prendre quelques minutes.

Configurer le délai avant expiration pour les webhooks à mutation

Vous pouvez configurer les webhooks de modification suivants :

  • 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

Par exemple, vous pouvez configurer le délai avant expiration de la mutation du webhook container-annotation-handler.cnrm.cloud.google.com en créant et en appliquant l'exemple de fichier YAML suivant. Le webhook fait partie de la configuration mutating-webhook.cnrm.cloud.google.com mutation du webhook configuration.

  1. Créez un fichier nommé configure-mutating-webhook-timeout.yaml et copiez-y le YAML ci-dessous :

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: MutatingWebhookConfigurationCustomization
    metadata:
      name: mutating-webhook
    spec:
      webhooks:
      - name: container-annotation-handler
        timeoutSeconds: 20
    
  2. Utilisez kubectl apply pour appliquer la personnalisation du délai avant expiration du webhook à votre cluster :

    kubectl apply -f configure-mutating-webhook-timeout.yaml
  3. Vérifiez que la configuration a réussi en exécutant la commande suivante :

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

    Le champ status.healthy doit s'afficher sur true.

  4. Vérifiez que le nouveau délai avant expiration personnalisé a été appliqué aux webhooks cibles:

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

    L'application de la personnalisation peut prendre quelques minutes.