Google Distributed Cloud에서는 클러스터의 자동 노드 크기 조절을 사용 설정할 수 있습니다. 크기 조절은 노드에 할당되는 CPU 및 메모리 리소스가 조절됨을 의미합니다.
자동 노드 크기 조절이 관리자 클러스터에 대해 사용 설정되었으면 관리자 클러스터의 부가 기능 노드가 관리자 클러스터의 총 노드 수에 따라 크기 조절됩니다. 각 사용자 클러스터에 대해 관리자 클러스터에 하나 이상의 제어 영역 노드가 있습니다. 따라서 사용자 클러스터를 더 만들면 관리자 클러스터의 총 노드 수가 증가하고 관리자 클러스터의 부가 기능 노드도 자동으로 크기가 증가합니다.
사용자 클러스터에 대해 자동 노드 크기 조절이 사용 설정되었으면 사용자 클러스터의 제어 영역 노드 크기가 사용자 클러스터의 노드 수에 따라 조절됩니다. 따라서 사용자 클러스터에 워커 노드를 더 추가하면 제어 영역 노드 크기가 증가합니다. 사용자 클러스터의 제어 영역 노드는 관리자 클러스터에 있습니다.
고가용성(HA) 사용자 클러스터에서는 관리자 클러스터에 3개의 제어 영역 노드가 포함되며, 비HA 사용자 클러스터에서는 관리자 클러스터에 1개의 제어 영역 노드가 포함됩니다. 노드 크기를 조절하려면 노드를 다시 만들어야 합니다. 따라서 비HA 사용자 클러스터에 대해 제어 영역 노드의 크기를 조절할 때는 약간의 다운타임이 발생할 수 있습니다.
관리자 클러스터의 부가기능 노드에 대해 노드 크기 조절 사용 설정
관리자 클러스터 구성 파일에서 addonNode.autoResize.enabled
를 true
로 설정합니다.
addonNode: autoResize: enabled: true
새 관리자 클러스터의 경우 관리자 클러스터 만들기(빠른 시작) 또는 관리자 클러스터 만들기의 안내를 따르세요.
기존 관리자 클러스터의 경우 다음을 수행합니다.
gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
다음을 바꿉니다.
ADMIN_CLUSTER_CONFIG: 관리자 클러스터 구성 파일의 경로입니다.
ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터 kubeconfig 파일의 경로입니다.
사용자 클러스터의 제어 영역 노드에 노드 크기 조절 사용 설정
사용자 클러스터 구성 파일에서 masterNode.autoResize.enabled
를 true
로 설정합니다.
masterNode: autoResize: enabled: true
새 사용자 클러스터의 경우 사용자 클러스터 만들기(빠른 시작) 또는 사용자 클러스터 만들기의 안내를 따르세요.
기존 클러스터의 경우 다음을 수행합니다.
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
다음을 바꿉니다.
ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터 kubeconfig 파일의 경로
USER_CLUSTER_CONFIG: 사용자 클러스터 구성 파일의 경로입니다.
자동 노드 크기 조절이 사용자 클러스터에 대해 사용 설정된 후 gkectl update
를 실행하여 제어 영역 노드의 CPU 또는 메모리를 변경하려는 시도하면 거부됩니다. gkectl update
를 사용하여 사용자 클러스터 제어 영역 노드의 CPU 또는 메모리를 변경하려면 자동 노드 크기 조절을 사용 중지해야 합니다.
관리자 클러스터의 부가기능 노드에 대해 노드 크기 조절 사용 중지
admin 클러스터 구성 파일에서 addonNode.autoResize.enabled
를 false
로 설정합니다.
addonNode: autoResize: enabled: false
클러스터를 업데이트합니다.
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
사용자 클러스터의 제어 영역 노드에 노드 크기 조절 사용 중지
사용자 클러스터 구성 파일에서 masterNode.autoResize.enabled
를 false
로 설정합니다.
masterNode: autoResize: enabled: false
클러스터를 업데이트합니다.
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
사용자 클러스터에 대해 자동 노드 크기 조절을 사용 중지하면 사용자 클러스터 구성 파일에 지정된 CPU 및 메모리 값과 일치하도록 제어 영역 노드의 CPU 및 메모리가 조정됩니다.
로그 및 이벤트
자동 크기 조절 포드의 이름을 찾으려면 다음 안내를 따르세요.
kubectl --kubeconfig ADMIN_KUBECONFIG describe deployment auto-resize-controller
포드의 이름은 auto-resize-controller-xxxxx
형식입니다.
자동 크기 조절 포드에서 로그를 확인하려면 다음 안내를 따르세요.
kubectl --kubeconfig ADMIN_KUBECONFIG logs AUTO_RESIZE_POD_NAME
자동 크기 조절 컨트롤러는 크기 조절과 관련된 의사 결정 및 작업에 대한 가시성을 제공하기 위해 MachineDeployment 객체에 대해 이벤트를 생성합니다.
MachineDeployments의 이름을 찾으려면 다음 안내를 따르세요.
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machinedeployments --all-namespaces
이벤트를 보려면 다음 안내를 따르세요.
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment USER_CONTROL_PLANE_NODE_MACHINE_DEPLOYMENT kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment ADMIN_ADDON_NODE_MACHINE_DEPLOYMENT