Configure o limite de tempo do webhook


Esta página descreve como configurar o limite de tempo limite do webhook para o Config Connector. Pode configurar estes webhooks na versão 1.110 e posteriores do Config Connector.

Configure o limite de tempo para validar webhooks

Pode configurar os seguintes webhooks de validação:

  • 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

Por exemplo, pode configurar o limite de tempo da validação de webhooks deny-immutable-field-updates.cnrm.cloud.google.com e deny-unknown-fields.cnrm.cloud.google.com criando e aplicando o seguinte ficheiro YAML de exemplo. Estes webhooks fazem parte da configuração da validating-webhook.cnrm.cloud.google.com configuração do webhook de validação.

  1. Crie um ficheiro com o nome configure-validating-webhook-timeout.yaml e copie o seguinte YAML para o mesmo:

    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. Use kubectl apply para aplicar a personalização do limite de tempo do webhook ao seu cluster:

    kubectl apply -f configure-validating-webhook-timeout.yaml
  3. Para verificar se a configuração foi bem-sucedida, execute o seguinte comando:

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

    Deve apresentar o campo status.healthy definido como true.

  4. Verifique se o novo limite de tempo personalizado foi aplicado aos webhooks de destino:

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

    A aplicação da personalização pode demorar alguns minutos.

Configure o limite de tempo para webhooks de mutação

Pode configurar os seguintes webhooks de mutação:

  • 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

Por exemplo, pode configurar o limite de tempo do webhook de mutação container-annotation-handler.cnrm.cloud.google.com criando e aplicando o seguinte ficheiro YAML de exemplo. O webhook faz parte da configuração da mutating-webhook.cnrm.cloud.google.com configuração do webhook de mutação.

  1. Crie um ficheiro com o nome configure-mutating-webhook-timeout.yaml e copie o seguinte YAML para o mesmo:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: MutatingWebhookConfigurationCustomization
    metadata:
      name: mutating-webhook
    spec:
      webhooks:
      - name: container-annotation-handler
        timeoutSeconds: 20
    
  2. Use kubectl apply para aplicar a personalização do limite de tempo do webhook ao seu cluster:

    kubectl apply -f configure-mutating-webhook-timeout.yaml
  3. Para verificar se a configuração foi bem-sucedida, execute o seguinte comando:

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

    Deve apresentar o campo status.healthy definido como true.

  4. Verifique se o novo limite de tempo personalizado foi aplicado aos webhooks de destino:

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

    A aplicação da personalização pode demorar alguns minutos.