Configure os recursos e as réplicas do contentor
Estas páginas descrevem como configurar recursos e réplicas de contentores para controladores no Config Connector.
Configure a atribuição de recursos para um contentor do controlador do Config Connector
Na versão 1.106 e posterior do Config Connector, pode configurar os recursos de CPU e memória (RAM) atribuídos a um contentor num pod do controlador do Config Connector. Pode configurar os seguintes controladores:
cnrm-webhook-manager
cnrm-controller-manager
cnrm-deletiondefender
cnrm-resource-stats-recorder
cnrm-unmanaged-detector
(versão 1.108 e posterior do Config Connector)
Por exemplo, pode configurar o pedido de memória e o limite do webhook
container do controlador cnrm-webhook-manager
criando e aplicando o seguinte ficheiro YAML de exemplo.
Crie um ficheiro com o nome
configure-webhook-manager.yaml
e copie o seguinte YAML para o mesmo: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
Use
kubectl apply
para aplicar a configuração do recurso do contentor ao seu cluster:kubectl apply -f configure-webhook-manager.yaml
Para verificar se a configuração foi bem-sucedida, execute o seguinte comando:
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
Deve apresentar o campo
status.healthy
definido comotrue
.Verifique se a nova configuração de recursos personalizados foi aplicada ao contentor
webhook
.kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'
A criação e a recriação dos Pods podem demorar alguns minutos.
GOMEMLIMIT
Se o Config Connector estiver configurado para ser executado no modo com espaço de nomes, tem de usar o recurso personalizado NamespacedControllerResource
para configurar recursos de contentores para o controlador cnrm-controller-manager
no espaço de nomes designado. A configuração de recursos do contentor para um controlador com espaço de nomes está ativada na versão 1.108 e posterior do Config Connector. O seguinte ficheiro YAML
mostra um exemplo de configuração:
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
Substitua NAMESPACE
pelo nome do seu espaço de nomes.
Configure réplicas para um pod do controlador do Config Connector
Na versão 1.107 e posterior do Config Connector, pode configurar o número de réplicas para um controlador do Config Connector. Só pode configurar o
cnrm-webhook-manager
.
Por exemplo, os passos seguintes mostram como configurar o número de réplicas
para o controlador cnrm-webhook-manager
para 3
.
Crie um ficheiro denominado
configure-webhook-manager.yaml
e copie o seguinte YAML para o mesmo: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
Use
kubectl apply
para aplicar a configuração modificada ao seu cluster:kubectl apply -f configure-webhook-manager.yaml
Execute o seguinte comando para verificar se a configuração foi bem-sucedida.
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
Deve apresentar o campo
status.healthy
definido comotrue
.Verifique a presença de 3 pods de webhook no cluster.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
A criação e a recriação dos Pods podem demorar alguns minutos.
Reverta as alterações de configuração nos recursos e nas réplicas do contentor
Use kubectl
delete
para eliminar os recursos personalizados ControllerResource
que configurou. Após a eliminação, o operador do Config Connector recria os controladores com os recursos e as réplicas do contentor predefinidos.
kubectl delete -f configure-webhook-manager.yaml