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
In Config Connector Version 1.106 und höher können Sie die CPU- und Arbeitsspeicherressourcen konfigurieren, die einem Container in einem Config Connector-Controller-Pod zugewiesen sind. Sie können die folgenden Controller konfigurieren:
cnrm-webhook-managercnrm-controller-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector(Config Connector-Version 1.108 und höher)
Für die Konfiguration werden zwei Arten von benutzerdefinierten Ressourcen verwendet: ControllerResource und NamespacedControllerResource.
ControllerResource für clusterbezogene Komponenten verwenden
Verwenden Sie die benutzerdefinierte Ressource ControllerResource, um Ressourcen für Config Connector-Komponenten zu konfigurieren, die als Bereitstellungen mit Clusterbereich ausgeführt werden.
Die folgenden Komponenten sind immer clusterbasiert, auch wenn Config Connector im Namespaced-Modus installiert ist:
cnrm-webhook-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector
Der cnrm-controller-manager hat auch Clusterbereich, wenn Config Connector im Clustermodus installiert ist.
Wenn Sie beispielsweise die Speicheranforderung und das Speicherlimit des webhook-Containers des cnrm-webhook-manager-Controllers konfigurieren möchten, erstellen Sie die folgende YAML-Datei und wenden Sie sie an:
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
NamespacedControllerResource für den Namespace-Controller-Manager verwenden
Verwenden Sie die benutzerdefinierte Ressource NamespacedControllerResource nur zum Konfigurieren von Ressourcen für cnrm-controller-manager, wenn Config Connector im Namespaced-Modus ausgeführt wird.
Die Konfiguration von Containerressourcen für einen Namespaced-Controller ist in Config Connector-Version 1.108 und höher aktiviert.
Die folgende YAML-Datei zeigt eine Beispielkonfiguration:
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
Ersetzen Sie NAMESPACE durch den Namen Ihres Namespace:
Replikate für einen Config Connector-Controller-Pod konfigurieren
In Config Connector Version 1.107 und höher können Sie die Anzahl der Replikate für einen Config Connector-Controller konfigurieren. Sie können nur die cnrm-webhook-manager konfigurieren.
In den folgenden Schritten wird beispielsweise gezeigt, wie die Anzahl der Replikate für den cnrm-webhook-manager-Controller auf 3 konfiguriert wird.
Erstellen Sie eine Datei mit dem Namen
configure-webhook-manager.yamlund kopieren Sie die folgende YAML-Datei hinein: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: 256MiVerwenden Sie
kubectl apply, um die geänderte Konfiguration 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}'Das Feld
status.healthysollte auftruegesetzt sein.Prüfen Sie, ob in Ihrem Cluster drei Webhook-Pods vorhanden sind.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
Das Erstellen und Neuerstellen der Pods kann einige Minuten dauern.
Konfigurationsänderungen in 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 Standardcontainerressourcen und ‑replikas neu.
kubectl delete -f configure-webhook-manager.yaml