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)

Ada dua jenis resource kustom yang digunakan untuk konfigurasi: ControllerResource dan NamespacedControllerResource.

Menggunakan ControllerResource untuk komponen cakupan cluster

Gunakan resource kustom ControllerResource untuk mengonfigurasi resource bagi komponen Config Connector yang berjalan sebagai deployment cakupan cluster.

Komponen berikut selalu memiliki cakupan cluster, meskipun Config Connector diinstal dalam mode namespace:

  • cnrm-webhook-manager
  • cnrm-deletiondefender
  • cnrm-resource-stats-recorder
  • cnrm-unmanaged-detector

cnrm-controller-manager juga memiliki cakupan cluster saat Config Connector diinstal dalam mode cluster.

Misalnya, untuk mengonfigurasi permintaan dan batas memori penampung webhook pengontrol cnrm-webhook-manager, buat dan terapkan file YAML berikut:

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

Gunakan NamespacedControllerResource untuk pengelola pengontrol dengan namespace

Gunakan resource kustom NamespacedControllerResource hanya untuk mengonfigurasi resource untuk cnrm-controller-manager saat Config Connector berjalan dalam mode 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

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