Containerressourcen und Replikate konfigurieren
Auf dieser Seite wird beschrieben, wie Sie Containerressourcen und Replikate für Controller in Config Connector konfigurieren.
Ressourcenzuweisung für einen Config Connector-Controller-Container konfigurieren
Ab Config Connector-Version 1.106 können Sie die CPU- und Arbeitsspeicherressourcen (RAM) konfigurieren, die einem Container in einem Config Connector-Controller-Pod zugewiesen sind. Sie können die folgenden Controller konfigurieren:
cnrm-webhook-manager
cnrm-controller-manager
cnrm-deletiondefender
cnrm-resource-stats-recorder
cnrm-unmanaged-detector
(Config Connector-Version 1.108 und höher)
Sie können beispielsweise die Arbeitsspeicheranfrage und das Limit des webhook
-Containers des cnrm-webhook-manager
-Controllers konfigurieren, indem Sie die folgende YAML-Beispieldatei erstellen und anwenden.
Erstellen Sie eine Datei mit dem Namen
configure-webhook-manager.yaml
und kopieren Sie die folgende YAML-Datei in diese Datei:apiVersion: customize.core.cnrm.cloud.google.com/v1alpha1 kind: ControllerResource metadata: name: cnrm-webhook-manager spec: containers: - name: webhook resources: limits: memory: 512Mi requests: memory: 256Mi
Verwenden Sie
kubectl apply
, um die Konfiguration der Containerressourcen auf Ihren Cluster anzuwenden:kubectl apply -f configure-webhook-manager.yaml
Prüfen Sie mit dem folgenden Befehl, ob die Konfiguration erfolgreich war:
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
Es sollte das Feld
status.healthy
angezeigt werden, das auftrue
festgelegt ist.Prüfen Sie, ob die neue benutzerdefinierte Ressourcenkonfiguration auf den Container
webhook
angewendet wurde.kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'
Das Erstellen und erneute Erstellen der Pods kann einige Minuten dauern.
Wenn Config Connector für die Ausführung im Namespace-Modus konfiguriert ist, müssen Sie die benutzerdefinierte Ressource NamespacedControllerResource
verwenden, um Containerressourcen für den cnrm-controller-manager
-Controller in Ihrem vorgesehenen Namespace zu konfigurieren. Die Konfiguration von Containerressourcen für einen Namespace-Controller ist in Config Connector ab Version 1.108 aktiviert. Die folgende YAML-Datei zeigt eine Beispielkonfiguration:
apiVersion: customize.core.cnrm.cloud.google.com/v1alpha1
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
Ersetzen Sie NAMESPACE
durch den Namen Ihres Namespace:
Replikate für einen Config Connector-Controller-Pod konfigurieren
Ab Config Connector-Version 1.107 können Sie die Anzahl der Replikate für einen Config Connector-Controller konfigurieren. Sie können nur cnrm-webhook-manager
konfigurieren.
Die folgenden Schritte zeigen beispielsweise, wie Sie die Anzahl der Replikate für den cnrm-webhook-manager
-Controller auf 3
konfigurieren.
Erstellen Sie eine Datei mit dem Namen
configure-webhook-manager.yaml
und kopieren Sie den folgenden YAML-Code in diese Datei:apiVersion: customize.core.cnrm.cloud.google.com/v1alpha1 kind: ControllerResource metadata: name: cnrm-webhook-manager spec: replicas: 3 containers: - name: webhook resources: limits: memory: 512Mi requests: memory: 256Mi
Verwenden Sie
kubectl apply
, um die geänderte Konfiguration auf Ihren Cluster anzuwenden:kubectl apply -f configure-webhook-manager.yaml
Prüfen Sie die erfolgreiche Konfiguration, indem Sie den folgenden Befehl ausführen.
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
Es sollte das Feld
status.healthy
angezeigt werden, das auftrue
festgelegt ist.Prüfen Sie, ob drei Webhook-Pods in Ihrem Cluster vorhanden sind.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
Das Erstellen und erneute Erstellen der Pods kann einige Minuten dauern.
Konfigurationsänderungen an Containerressourcen und Replikaten rückgängig machen
Verwenden Sie kubectl
delete
, um die benutzerdefinierten ControllerResource
-Ressourcen zu löschen, die Sie konfiguriert haben. Nach dem Löschen erstellt der Config Connector-Operator die Controller mit den Standard-Containerressourcen und -Replikaten neu.
kubectl delete -f configure-webhook-manager.yaml