Mengonfigurasi resource dan replika container


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

Mengonfigurasi alokasi resource untuk container pengontrol Config Connector

Pada Config Connector versi 1.106 dan yang lebih baru, Anda dapat mengkonfigurasi CPU dan resource memori (RAM) yang dialokasikan ke container di pengontrol Config Connector Pod. 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 memori dan batas webhook container pengontrol cnrm-webhook-manager dengan membuat dan menerapkan contoh file YAML berikut.

  1. Buat file bernama configure-webhook-manager.yaml, lalu salin berikut YAML 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 container ke cluster Anda:

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

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

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

  4. Verifikasi bahwa konfigurasi resource kustom yang baru telah diterapkan ke Penampung webhook.

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

    Membuat dan membuat ulang Pod dapat memerlukan waktu beberapa menit.

Jika Config Connector dikonfigurasi untuk dijalankan di mode namespace, Anda harus gunakan resource kustom NamespacedControllerResource untuk mengonfigurasi container resource untuk pengontrol cnrm-controller-manager dalam setelan namespace. 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

Pada Config Connector versi 1.107 dan yang lebih baru, Anda dapat mengonfigurasi jumlah 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 perintah berikut YAML 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 dimodifikasi ke cluster Anda:

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

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

    Seharusnya Anda akan menampilkan kolom status.healthy yang disetel 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

    Membuat dan membuat ulang Pod dapat memerlukan waktu beberapa menit.

Mengembalikan perubahan konfigurasi di resource dan replika container

Gunakan kubectl delete untuk menghapus resource kustom ControllerResource yang telah Anda konfigurasi. Sesudah operator Config Connector akan membuat ulang pengontrol dengan resource dan replika container default.

kubectl delete -f configure-webhook-manager.yaml