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 webhook validasi 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 validasi konfigurasi webhook 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. Verifikasi konfigurasi yang berhasil dengan menjalankan perintah berikut:

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

    Kolom ini 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 mengubah 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 konfigurasi webhook yang memodifikasi mutating-webhook.cnrm.cloud.google.com.

  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. Verifikasi konfigurasi yang berhasil dengan menjalankan perintah berikut:

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

    Kolom ini 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.