이 문서에서는 Google Distributed Cloud(GDC) 에어 갭 Kubernetes 클러스터에서 실행되는 기존 스테이트리스(Stateless) 워크로드를 확장하는 방법을 설명합니다. 컨테이너 워크로드 요구사항이 진화함에 따라 스테이트리스(Stateless) 워크로드에서 실행되는 포드를 확장해야 합니다.
이 문서는 조직의 애플리케이션 워크로드 관리를 담당하는 애플리케이션 운영자 그룹 내 개발자를 위한 것입니다. 자세한 내용은 다음 자료를 참조하세요. GDC 에어 갭 문서의 대상 독자
시작하기 전에
이 문서의 작업을 완료하려면 필요한 권한을 요청하고 환경을 준비해야 합니다.
IAM 역할 요청
스테이트리스(Stateless) 워크로드를 확장하는 데 필요한 권한을 얻으려면 특정 역할이 있어야 합니다. 필요한 역할은 조직 범위 공유 클러스터 또는 프로젝트 범위 표준 클러스터 내에서 작업하는지 여부에 따라 다릅니다. 자세한 내용은 Kubernetes 클러스터 구성을 참조하세요.
공유 클러스터 역할
공유 클러스터에서 워크로드를 만들거나, 삭제하거나, 수정하거나, 보려면 프로젝트 IAM 관리자에게 네임스페이스 관리자 (namespace-admin) 역할을 부여해 달라고 요청하세요. 이 역할은 프로젝트 네임스페이스에 바인딩됩니다.
표준 클러스터 역할
표준 클러스터에서 워크로드를 만들거나, 삭제하거나, 수정하거나, 보려면 프로젝트 IAM 관리자에게 클러스터 개발자 (cluster-developer) 역할을 부여해 달라고 요청하세요. 이 역할은 프로젝트 네임스페이스에 바인딩됩니다.
개발 환경 준비
API를 사용하여 Kubernetes 클러스터 에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.
Kubernetes 클러스터 이름을 찾거나 플랫폼 관리자 그룹의 구성원에게 클러스터 이름이 무엇인지 물어봅니다.
로그인하고 생성합니다 Kubernetes 클러스터의 kubeconfig 파일.
Kubernetes 클러스터의 kubeconfig 경로를 사용하여 이 안내의
KUBERNETES_CLUSTER_KUBECONFIG를 바꿉니다.
배포 확장하기
Kubernetes의 확장 기능을 사용하여 배포에서 실행되는 포드 수를 적절하게 확장합니다.
배포의 포드 자동 확장
Kubernetes는 수요가 진화할 때 배포를 수동으로 업데이트할 필요가 없도록 자동 확장을 제공합니다. 다음 단계를 완료하여 배포의 포드를 자동 확장합니다.
수평형 포드 자동 확장 처리가 CPU 비율을 적절하게 측정할 수 있도록 배포에서 CPU 리소스 요청을 설정합니다.
배포에서 수평형 포드 자동 확장 처리를 설정합니다.
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ -n NAMESPACE \ autoscale deployment DEPLOYMENT_NAME \ --cpu-percent=CPU_PERCENT \ --min=MIN_NUMBER_REPLICAS \ --max=MAX_NUMBER_REPLICAS다음을 바꿉니다.
KUBERNETES_CLUSTER_KUBECONFIG: 클러스터의 kubeconfig 파일입니다.NAMESPACE: 네임스페이스입니다. 공유 클러스터의 경우 프로젝트 네임스페이스여야 합니다. 표준 클러스터의 경우 모든 네임스페이스일 수 있습니다.DEPLOYMENT_NAME: 자동 확장할 배포의 이름입니다.CPU_PERCENT: 모든 포드에서 요청할 대상 평균 CPU 사용률(백분율로 표시)입니다.MIN_NUMBER_REPLICAS: 자동 확장 처리에서 프로비저닝할 수 있는 포드 수의 하한값입니다.MAX_NUMBER_REPLICAS: 자동 확장 처리에서 프로비저닝할 수 있는 포드 수의 상한값입니다.
수평형 포드 자동 확장 처리의 현재 상태를 확인합니다.
kubectl get hpa출력은 다음과 비슷합니다.
NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE DEPLOYMENT_NAME Deployment/DEPLOYMENT_NAME/scale 0% / 50% 1 10 1 18s
배포의 포드 수동 확장
배포를 수동으로 확장하려면 다음을 실행합니다.
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
다음을 바꿉니다.
KUBERNETES_CLUSTER_KUBECONFIG: 클러스터의 kubeconfig 파일입니다.NAMESPACE: 네임스페이스입니다. 공유 클러스터의 경우 프로젝트 네임스페이스여야 합니다. 표준 클러스터의 경우 모든 네임스페이스일 수 있습니다.DEPLOYMENT_NAME: 자동 확장할 배포의 이름입니다.DEPLOYMENT_NAME: 배포에서 복제된Pod객체의 수입니다.