הגדרת פסק זמן של webhook

בדף הזה מוסבר איך להגדיר את פרק הזמן הקצוב לתפוגה של webhook ב-Config Connector. אפשר להגדיר את ה-webhook האלה ב-Config Connector מגרסה 1.110 ואילך.

הגדרת פרק זמן קצוב לתגובה לפעולה מאתר אחר (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

לדוגמה, אתם יכולים להגדיר את הזמן הקצוב לתפוגה של אימות ה-webhook‏ deny-immutable-field-updates.cnrm.cloud.google.com ו-deny-unknown-fields.cnrm.cloud.google.com על ידי יצירה והחלה של קובץ ה-YAML הבא לדוגמה. התגובות לפעולות מאתר אחר (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. כדי להחיל על האשכול את ההתאמה האישית של הזמן הקצוב לתפוגה של ה-webhook, משתמשים בפקודה kubectl apply:

    kubectl apply -f configure-validating-webhook-timeout.yaml
  3. מריצים את הפקודה הבאה כדי לוודא שההגדרה בוצעה בהצלחה:

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

    השדה status.healthy צריך להיות מוגדר לערך true.

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

    החלת ההתאמה האישית עשויה להימשך כמה דקות.

הגדרת זמן קצוב לתפוגה של webhooks לשינוי

אפשר להגדיר את ה-webhooks הבאים לשינוי:

  • 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

לדוגמה, אפשר להגדיר את הזמן הקצוב לתפוגה של webhook לשינוי באמצעות יצירה והחלה של קובץ ה-YAML הבא לדוגמה.container-annotation-handler.cnrm.cloud.google.com ה-webhook הוא חלק מההגדרה של mutating-webhook.cnrm.cloud.google.com mutating webhook configuration.

  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. כדי להחיל על האשכול את ההתאמה האישית של הזמן הקצוב לתפוגה של ה-webhook, משתמשים בפקודה kubectl apply:

    kubectl apply -f configure-mutating-webhook-timeout.yaml
  3. מריצים את הפקודה הבאה כדי לוודא שההגדרה בוצעה בהצלחה:

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

    השדה status.healthy צריך להיות מוגדר לערך true.

  4. מוודאים שזמן הקצוב לתפוגה המותאם אישית החדש הוחל על ה-webhook של היעד:

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

    החלת ההתאמה האישית עשויה להימשך כמה דקות.