Mengonfigurasi resource dan replika container

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

Mengonfigurasi alokasi resource untuk container pengontrol Config Connector

Di Config Connector versi 1.106 dan yang lebih baru, Anda dapat mengonfigurasi resource CPU dan memori (RAM) yang dialokasikan ke container 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 webhook penampung 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 keberhasilan konfigurasi dengan menjalankan perintah berikut:

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

    Kolom status.healthy yang ditetapkan ke true akan ditampilkan.

  4. Pastikan konfigurasi resource kustom baru telah diterapkan ke container 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 namespace, Anda harus menggunakan resource kustom NamespacedControllerResource untuk mengonfigurasi resource penampung untuk pengontrol cnrm-controller-manager dalam namespace yang ditentukan. Konfigurasi resource container 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 menjadi 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 keberhasilan konfigurasi dengan menjalankan perintah berikut.

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

    Kolom status.healthy yang ditetapkan ke true akan ditampilkan.

  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 replika dan resource container default.

kubectl delete -f configure-webhook-manager.yaml