컨테이너 리소스 및 복제본 구성
이 페이지에서는 구성 커넥터에서 컨트롤러의 컨테이너 리소스 및 복제본을 구성하는 방법을 설명합니다.
구성 커넥터 컨트롤러 컨테이너의 리소스 할당 구성
구성 커넥터 버전 1.106 이상에서는 구성 커넥터 컨트롤러 포드의 컨테이너에 할당되는 CPU 및 메모리(RAM) 리소스를 구성할 수 있습니다. 다음 컨트롤러를 구성할 수 있습니다.
cnrm-webhook-manager
cnrm-controller-manager
cnrm-deletiondefender
cnrm-resource-stats-recorder
cnrm-unmanaged-detector
(구성 커넥터 버전 1.108 이상)
예를 들어 다음 YAML 파일을 만들고 적용하여 cnrm-webhook-manager
컨트롤러의 webhook
컨테이너에 대한 메모리 요청 및 한도를 구성할 수 있습니다.
configure-webhook-manager.yaml
파일을 만들고 이 파일에 다음 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}'
포드를 만들고 다시 만드는 데는 몇 분 정도 걸릴 수 있습니다.
구성 커넥터가 네임스페이스 모드에서 실행되도록 구성된 경우 NamespacedControllerResource
커스텀 리소스를 사용하여 지정된 네임스페이스 내에서 cnrm-controller-manager
컨트롤러의 컨테이너 리소스를 구성해야 합니다. 네임스페이스 컨트롤러의 컨테이너 리소스 구성은 구성 커넥터 버전 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
를 네임스페이스의 이름으로 바꿉니다.
구성 커넥터 컨트롤러 포드의 복제본 구성
구성 커넥터 버전 1.107 이상에서는 구성 커넥터 컨트롤러의 복제본 수를 구성할 수 있습니다. 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개의 웹훅 포드가 있는지 확인합니다.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
포드를 만들고 다시 만드는 데는 몇 분 정도 걸릴 수 있습니다.
컨테이너 리소스 및 복제본의 구성 변경사항 되돌리기
kubectl
delete
를 사용하여 구성한 ControllerResource
커스텀 리소스를 삭제합니다. 삭제 후 구성 커넥터 연산자가 기본 컨테이너 리소스 및 복제본을 사용하여 컨트롤러를 다시 만듭니다.
kubectl delete -f configure-webhook-manager.yaml