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.
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
Gunakan
kubectl apply
untuk menerapkan konfigurasi resource penampung ke cluster Anda:kubectl apply -f configure-webhook-manager.yaml
Verifikasi keberhasilan konfigurasi dengan menjalankan perintah berikut:
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
Kolom
status.healthy
yang ditetapkan ketrue
akan ditampilkan.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
.
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
Gunakan
kubectl apply
untuk menerapkan konfigurasi yang diubah ke cluster Anda:kubectl apply -f configure-webhook-manager.yaml
Verifikasi keberhasilan konfigurasi dengan menjalankan perintah berikut.
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
Kolom
status.healthy
yang ditetapkan ketrue
akan ditampilkan.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