Mengonfigurasi resource dan replika penampung


Halaman ini menjelaskan cara mengonfigurasi resource dan replika penampung untuk pengontrol di Config Connector.

Mengonfigurasi alokasi resource untuk penampung pengontrol Config Connector

Di Config Connector versi 1.106 dan yang lebih baru, Anda dapat mengonfigurasi resource CPU dan memori (RAM) yang dialokasikan ke penampung di Pod pengontrol Config Connector. Anda dapat mengonfigurasi pengontrol berikut:

  • cnrm-webhook-manager
  • cnrm-controller-manager
  • cnrm-deletiondefender
  • cnrm-resource-stats-recorder
  • cnrm-unmanaged-detector (Config Connector versi 1.108 dan yang lebih baru)

Misalnya, Anda dapat mengonfigurasi permintaan dan batas memori penampung webhook pengontrol cnrm-webhook-manager dengan membuat dan menerapkan contoh file YAML berikut.

  1. Buat file bernama configure-webhook-manager.yaml dan salin YAML berikut ke dalamnya:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: ControllerResource
    metadata:
      name: cnrm-webhook-manager
    spec:
      containers:
        - name: webhook
          resources:
            limits:
              memory: 512Mi
            requests:
              memory: 256Mi
    
  2. Gunakan kubectl apply untuk menerapkan konfigurasi resource penampung ke cluster Anda:

    kubectl apply -f configure-webhook-manager.yaml
  3. Verifikasi konfigurasi yang berhasil dengan menjalankan perintah berikut:

    kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'

    Tindakan ini akan menampilkan kolom status.healthy yang ditetapkan ke true.

  4. Pastikan konfigurasi resource kustom baru telah diterapkan ke penampung webhook.

    kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'

    Pembuatan dan pembuatan ulang Pod dapat memerlukan waktu beberapa menit.

Jika Config Connector dikonfigurasi untuk berjalan dalam mode dengan namespace, Anda harus menggunakan resource kustom NamespacedControllerResource untuk mengonfigurasi resource penampung untuk pengontrol cnrm-controller-manager dalam namespace yang ditetapkan. Konfigurasi resource penampung untuk pengontrol dengan namespace diaktifkan di Config Connector versi 1.108 dan yang lebih baru. File YAML berikut menunjukkan contoh konfigurasi:

apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
kind: NamespacedControllerResource
metadata:
  name: cnrm-controller-manager # name should not contain the namespace ID suffix
  namespace: NAMESPACE
spec:
  containers:
    - name: manager
      resources:
        limits:
          cpu: 200m
          memory: 512Mi
        requests:
          cpu: 100m
          memory: 256Mi

Ganti NAMESPACE dengan nama namespace Anda.

Mengonfigurasi replika untuk Pod pengontrol Config Connector

Di Config Connector versi 1.107 dan yang lebih baru, Anda dapat mengonfigurasi jumlah replika untuk pengontrol Config Connector. Anda hanya dapat mengonfigurasi cnrm-webhook-manager.

Misalnya, langkah-langkah berikut menunjukkan cara mengonfigurasi jumlah replika untuk pengontrol cnrm-webhook-manager ke 3.

  1. Buat file bernama configure-webhook-manager.yaml dan salin YAML berikut ke dalamnya:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: ControllerResource
    metadata:
      name: cnrm-webhook-manager
    spec:
      replicas: 3
      containers:
        - name: webhook
          resources:
            limits:
              memory: 512Mi
            requests:
              memory: 256Mi
    
  2. Gunakan kubectl apply untuk menerapkan konfigurasi yang diubah ke cluster Anda:

    kubectl apply -f configure-webhook-manager.yaml
  3. Verifikasi konfigurasi yang berhasil dengan menjalankan perintah berikut.

    kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'

    Tindakan ini akan menampilkan kolom status.healthy yang ditetapkan ke true.

  4. Verifikasi keberadaan 3 Pod webhook dalam cluster Anda.

    kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager

    Pembuatan dan pembuatan ulang Pod dapat memerlukan waktu beberapa menit.

Mengembalikan perubahan konfigurasi di resource dan replika penampung

Gunakan kubectl delete untuk menghapus resource kustom ControllerResource yang Anda konfigurasi. Setelah penghapusan, operator Config Connector akan membuat ulang pengontrol dengan resource dan replika penampung default.

kubectl delete -f configure-webhook-manager.yaml