Konfigurasi waktu tunggu webhook


Halaman ini menjelaskan cara mengonfigurasi waktu tunggu webhook untuk Config Connector. Anda dapat mengonfigurasi webhook ini di Config Connector versi 1.110 dan yang lebih baru.

Konfigurasi waktu tunggu untuk memvalidasi webhook

Anda dapat mengonfigurasi webhook berikut yang memvalidasi:

  • 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

Misalnya, Anda dapat mengonfigurasi waktu tunggu untuk memvalidasi webhook deny-immutable-field-updates.cnrm.cloud.google.com dan deny-unknown-fields.cnrm.cloud.google.com dengan membuat dan menerapkan dengan mengikuti contoh {i>file<i} YAML. Webhook ini merupakan bagian dari konfigurasi validating-webhook.cnrm.cloud.google.com memvalidasi webhook konfigurasi.

  1. Buat file bernama configure-validating-webhook-timeout.yaml, lalu salin berikut YAML ke dalamnya:

    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. Gunakan kubectl apply untuk menerapkan penyesuaian waktu tunggu webhook ke cluster Anda:

    kubectl apply -f configure-validating-webhook-timeout.yaml
  3. Verifikasi bahwa konfigurasi berhasil dengan menjalankan perintah berikut:

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

    Seharusnya Anda akan menampilkan kolom status.healthy yang disetel ke true.

  4. Pastikan waktu tunggu kustom yang baru telah diterapkan ke webhook target:

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

    Menerapkan penyesuaian dapat memerlukan waktu beberapa menit.

Mengonfigurasi waktu tunggu untuk mengubah webhook

Anda dapat mengonfigurasi webhook bermutasi berikut:

  • 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

Misalnya, Anda dapat mengonfigurasi waktu tunggu untuk mengubah webhook container-annotation-handler.cnrm.cloud.google.com dengan membuat dan menerapkan contoh file YAML berikut. Webhook adalah bagian dari konfigurasi mutating-webhook.cnrm.cloud.google.com mengubah webhook konfigurasi.

  1. Buat file bernama configure-mutating-webhook-timeout.yaml, lalu salin berikut YAML ke dalamnya:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: MutatingWebhookConfigurationCustomization
    metadata:
      name: mutating-webhook
    spec:
      webhooks:
      - name: container-annotation-handler
        timeoutSeconds: 20
    
  2. Gunakan kubectl apply untuk menerapkan penyesuaian waktu tunggu webhook ke cluster Anda:

    kubectl apply -f configure-mutating-webhook-timeout.yaml
  3. Verifikasi bahwa konfigurasi berhasil dengan menjalankan perintah berikut:

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

    Seharusnya Anda akan menampilkan kolom status.healthy yang disetel ke true.

  4. Pastikan waktu tunggu kustom yang baru telah diterapkan ke webhook target:

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

    Menerapkan penyesuaian dapat memerlukan waktu beberapa menit.