이 주제에서는 기존 사용자 클러스터의 구성을 업데이트하는 방법을 설명합니다.
개요
Kubernetes 버전 1.20 이상을 실행하는 사용자 클러스터에서는 다음 특성을 수정할 수 있습니다.
- 이 주제에 설명된 사용자 클러스터의 보안 그룹
- 클러스터 및 노드 풀 버전 자세한 내용은 GKE on AWS 업그레이드를 참조하세요.
- 프록시 설정. 자세한 내용은 프록시 설정 변경을 참조하세요.
- 노드 풀의 크기. 자세한 내용은 노드 풀 크기 조절을 참조하세요.
Kubernetes 1.22 이상에서는 EC2 인스턴스 유형을 업데이트할 수 있습니다.
이러한 리소스를 업데이트하려면 AWSCluster 및 AWSNodePool 리소스를 수정합니다.
구성을 업데이트하면 GKE on AWS가 클러스터 또는 노드 풀을 Updating
상태로 전환합니다. 업데이트가 완료되면 클러스터 또는 노드 풀이 Provisioned
상태로 돌아갑니다.
시작하기 전에
사용자 클러스터를 수정하려면 클러스터 및 노드 풀이 Kubernetes 버전 1.20 이상을 실행해야 합니다. 클러스터가 Kubernetes 1.20을 사용하지 않으면 사용자 클러스터 업그레이드를 먼저 수행합니다.
클러스터의 보안 그룹을 수정하려면 GKE on AWS 사용자 클러스터를 관리하는 AWS IAM 역할(anthos-gke.yaml
에서 spec.authentication.awsIAM.adminIdentityARNs
로 설정됨)에 ec2:ModifyNetworkInterfaceAttribute
권한이 있어야 합니다.
보안 그룹 업데이트
이 섹션에서는 클러스터 및 노드 풀에 대한 보안 그룹을 업데이트합니다. 보안 그룹을 업데이트하려면 다음 단계를 수행합니다.
anthos-aws
디렉터리에서anthos-gke
를 사용하여 컨텍스트를 관리 서비스로 전환합니다.cd anthos-aws anthos-gke aws management get-credentials
AWSCluster를 만든 YAML 파일을 텍스트 편집기에서 엽니다. 초기 YAML 파일이 없으면
kubectl edit
를 사용할 수 있습니다.YAML 수정
사용자 클러스터 만들기 안내를 따랐으면 YAML 파일 이름은
cluster-0.yaml
입니다. 이 파일을 텍스트 편집기에서 엽니다.kubectl 수정
kubectl edit
를 사용하여 AWSCluster를 수정하려면 다음 명령어를 실행합니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
cluster-name을 AWSCluster로 바꿉니다. 예를 들어 기본 클러스터
cluster-0
을 수정하려면 다음 명령어를 실행합니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
AWSCluster
의spec.controlPlane.securityGroupIDs
필드를 수정합니다.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster ... spec: controlPlane: securityGroupIDs: - SECURITY_GROUP_ID ...
SECURITY_GROUP_ID를 새 보안 그룹의 ID로 바꿉니다. 여러 보안 그룹을 추가하려면
spec.controlPlane.securityGroupIDs
아래의 배열에 추가 값을 추가합니다.다음 예시에는 보안 그룹
sg-12345678ab
및sg-abcdef1234
가 포함되어 있습니다.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster spec: controlPlane: securityGroupIDs: - sg-12345678ab - sg-abcdef1234 ...
AWSNodePool
리소스의spec.securityGroupIDs
필드를 수정합니다.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSNodePool spec: securityGroupIDs: - SECURITY_GROUP_ID ...
파일을 저장합니다.
kubectl edit
을 사용하는 경우kubectl
이 변경사항을 자동으로 적용합니다. YAML 파일을 편집하는 경우 다음 명령어를 사용하여 관리형 서비스에 적용합니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
kubectl
로 업데이트 상태를 확인합니다. 업데이트가 완료되면 객체 상태가Updating
에서Provisioned
로 변경됩니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters,AWSNodePools
예를 들어 클러스터가 업데이트 상태이면 출력이 다음과 비슷하게 표시됩니다.
NAME STATE AGE VERSION ENDPOINT cluster-0 Updating 10m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com NAME CLUSTER STATE AGE VERSION cluster-0-pool-0 cluster-0 Updating 10m40s 1.25.5-gke.2100
인스턴스 유형 업데이트
이 섹션에서는 클러스터 및 노드 풀의 인스턴스 유형을 업데이트합니다. 인스턴스 유형을 업데이트하려면 다음 단계를 수행합니다.
anthos-aws
디렉터리에서anthos-gke
를 사용하여 컨텍스트를 관리 서비스로 전환합니다.cd anthos-aws anthos-gke aws management get-credentials
AWSCluster를 만든 YAML 파일을 텍스트 편집기에서 엽니다. 초기 YAML 파일이 없으면
kubectl edit
를 사용할 수 있습니다.YAML 수정
사용자 클러스터 만들기 안내를 따랐으면 YAML 파일 이름은
cluster-0.yaml
입니다. 이 파일을 텍스트 편집기에서 엽니다.kubectl 수정
kubectl edit
를 사용하여 AWSCluster를 수정하려면 다음 명령어를 실행합니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
cluster-name을 AWSCluster로 바꿉니다. 예를 들어 기본 클러스터
cluster-0
을 수정하려면 다음 명령어를 실행합니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
AWSCluster
의spec.controlPlane.instanceType
필드를 수정합니다.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster ... spec: controlPlane: instanceType: AWS_INSTANCE_TYPE ...
AWS_INSTANCE_TYPE을 새 인스턴스 유형으로 바꿉니다. 자세한 내용은 지원되는 인스턴스 유형을 참조하세요.
AWSNodePool
리소스의spec.instanceType
필드를 수정합니다.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSNodePool spec: instanceType: AWS_INSTANCE_TYPE ...
파일을 저장합니다.
kubectl edit
을 사용하는 경우kubectl
이 변경사항을 자동으로 적용합니다. YAML 파일을 편집하는 경우 다음 명령어를 사용하여 관리형 서비스에 적용합니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
kubectl
로 업데이트 상태를 확인합니다. 업데이트가 완료되면 객체 상태가Updating
에서Provisioned
로 변경됩니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters,AWSNodePools
예를 들어 클러스터가 업데이트 상태이면 출력이 다음과 비슷하게 표시됩니다.
NAME STATE AGE VERSION ENDPOINT cluster-0 Updating 10m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com NAME CLUSTER STATE AGE VERSION cluster-0-pool-0 cluster-0 Updating 10m40s 1.25.5-gke.2100
다음 단계
- 사용자 클러스터 업그레이드에 대한 자세한 내용은 GKE on AWS 업그레이드를 참조하세요.