Mengonfigurasi 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.

Mengonfigurasi waktu tunggu untuk memvalidasi webhook

Anda dapat mengonfigurasi webhook validasi berikut:

  • 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 contoh file YAML berikut. Webhook ini adalah bagian dari konfigurasi konfigurasi webhook memvalidasi validating-webhook.cnrm.cloud.google.com.

  1. Buat file bernama configure-validating-webhook-timeout.yaml dan salin YAML berikut 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. Pastikan konfigurasi berhasil dengan menjalankan perintah berikut:

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

    Seharusnya akan menampilkan kolom status.healthy yang ditetapkan ke true.

  4. Pastikan waktu tunggu kustom 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"}'

    Penerapan penyesuaian dapat memerlukan waktu beberapa menit.

Mengonfigurasi waktu tunggu untuk mengubah webhook

Anda dapat mengonfigurasi webhook yang 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 konfigurasi webhook yang berubah.

  1. Buat file bernama configure-mutating-webhook-timeout.yaml dan salin YAML berikut 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. Pastikan konfigurasi berhasil dengan menjalankan perintah berikut:

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

    Seharusnya akan menampilkan kolom status.healthy yang ditetapkan ke true.

  4. Pastikan waktu tunggu kustom 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"}'

    Penerapan penyesuaian dapat memerlukan waktu beberapa menit.