配置容器资源和副本
本页面介绍了如何为 Cloud Storage 存储分区配置容器资源和副本, Config Connector 中的控制器
为 Config Connector 控制器容器配置资源分配
在 Config Connector 1.106 版及更高版本中,您可以配置 CPU 和 分配给 Config Connector 控制器中的容器的内存 (RAM) 资源 Pod。您可以配置以下控制器:
cnrm-webhook-manager
cnrm-controller-manager
cnrm-deletiondefender
cnrm-resource-stats-recorder
cnrm-unmanaged-detector
(Config Connector 1.108 及更高版本)
例如,您可以配置 webhook
的内存请求和限制
cnrm-webhook-manager
控制器的容器,创建并应用
请参阅以下示例 YAML 文件。
创建一个名为
configure-webhook-manager.yaml
的文件,并将 添加以下代码: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
使用
kubectl apply
将容器资源配置应用于您的集群:kubectl apply -f configure-webhook-manager.yaml
通过运行以下命令验证配置是否成功:
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
它应该显示设置为
true
的status.healthy
字段。验证新的自定义资源配置是否已应用于
webhook
容器。kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'
创建和重新创建 Pod 可能需要几分钟时间。
如果将 Config Connector 配置为在
命名空间型模式,
使用 NamespacedControllerResource
自定义资源配置容器
在您指定的cnrm-controller-manager
命名空间。命名空间型控制器的容器资源的配置
在 Config Connector 1.108 及更高版本中启用。以下 YAML 文件显示了示例配置:
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
将 NAMESPACE
替换为您的命名空间名称。
为 Config Connector 控制器 Pod 配置副本
在 Config Connector 1.107 版及更高版本中,您可以配置
Config Connector 控制器的副本您只能配置 cnrm-webhook-manager
。
例如,以下步骤展示了如何将 cnrm-webhook-manager
控制器的副本数量配置为 3
。
创建名为
configure-webhook-manager.yaml
的文件并将以下 YAML 复制到其中: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
使用
kubectl apply
将修改后的配置应用到您的集群:kubectl apply -f configure-webhook-manager.yaml
运行以下命令来验证配置是否成功。
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
它应该显示设置为
true
的status.healthy
字段。验证集群中是否有 3 个 webhook Pod。
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
创建和重新创建 Pod 可能需要几分钟时间。
还原容器资源和副本中的配置更改
使用 kubectl
delete
删除您配置的 ControllerResource
自定义资源。更新后
删除后,Config Connector 操作器会使用
默认容器资源和副本。
kubectl delete -f configure-webhook-manager.yaml