제어 영역 IP 순환

이 페이지에서는 Google Kubernetes Engine에서 제어 영역의 IP 순환을 수행하는 방법을 설명합니다.

개요

IP 순환을 수행하여 Kubernetes 마스터가 Kubernetes API의 요청을 처리하는 데 사용하는 IP 주소를 변경할 수 있습니다.

IP 순환은 SSL 인증서와 클러스터 인증 기관도 변경하므로 이전 주소와 새 주소 사이에 외부에서 볼 수 있는 연결이 없습니다.

시작하기 전에

이 작업을 준비하려면 다음 단계를 수행하세요.

  • Google Kubernetes Engine API가 사용 설정되었는지 확인합니다.
  • Google Kubernetes Engine API 사용 설정
  • Cloud SDK가 설치되었는지 확인합니다.
  • 기본 프로젝트 ID를 설정합니다.
    gcloud config set project [PROJECT_ID]
  • 영역 클러스터를 사용하는 경우 기본 컴퓨팅 영역을 설정합니다.
    gcloud config set compute/zone [COMPUTE_ZONE]
  • 지역 클러스터를 사용하는 경우 기본 컴퓨팅 지역을 설정합니다.
    gcloud config set compute/region [COMPUTE_REGION]
  • gcloud를 최신 버전으로 업데이트합니다.
    gcloud components update

IP 순환 작동 방식

IP 순환은 여러 단계로 이루어진 프로세스입니다.

  • IP 순환을 시작하면 클러스터 마스터가 원래 IP 주소 외에 새 IP 주소도 제공하기 시작합니다.
  • 순환을 시작한 후에는 새 IP 주소를 사용하여 마스터와 통신을 시작하도록 클러스터의 API 클라이언트(예: kubectl 명령줄 인터페이스를 사용하는 개발 머신)를 업데이트해야 합니다.
  • 순환이 완료되면 마스터는 이전 IP 주소를 통한 트래픽 처리를 중지합니다.

IP 순환 수행

다음 섹션에서는 IP 순환을 수행하는 방법을 설명합니다.

순환 시작

IP 순환을 시작하려면 다음 명령어를 실행합니다.

gcloud container clusters update [CLUSTER_NAME] --start-ip-rotation

여기서 [CLUSTER_NAME]은 클러스터의 이름입니다.

이 명령어는 2개의 IP 주소(원래 주소와 새 주소)를 제공하도록 클러스터 마스터를 구성합니다. 이로 인해 잠깐 동안 클러스터 API의 다운타임이 발생합니다.

이 명령어는 다음 출력을 반환합니다.


This will start an IP Rotation on cluster [CLUSTER-NAME].
The master will be updated to serve on a new IP address in addition to
the current IP address. GKE will then recreate all
nodes to point to the new IP address. This operation is
long-running and will block other operations on the cluster (including
delete) until it has run to completion.
Do you want to continue (Y/n)?

확인한 후 작업이 완료될 때까지 셸을 열어 두세요.

마스터가 다시 구성되면 GKE는 새 IP 주소를 사용하도록 클러스터의 노드를 자동으로 업데이트합니다. 각 노드 풀은 '다시 만들기 필요'로 표시됩니다. GKE는 자동 다시 만들기가 완료될 때까지 IP 순환을 완료하지 않습니다.

순환 검사

업데이트 작업을 모니터링하려면 다음 명령어를 실행합니다.

gcloud container operations list --filter="UPGRADE_NODES RUNNING"

이 명령어는 업데이트 작업의 작업 ID를 반환합니다.

작업을 폴링하려면 작업 ID를 다음 명령어에 전달합니다.

gcloud container operations wait [OPERATION_ID]

노드 풀이 하나씩 다시 생성되고 각 노드 풀에 고유한 작업이 포함됩니다. 노드 풀이 여럿인 경우, 위의 안내에 따라 각 작업을 폴링할 수 있습니다.

API 클라이언트 업데이트

IP 순환이 시작된 다음에는 새 주소를 가리키도록 클러스터 외부의 모든 API 클라이언트(예: 개발자 머신의 kubectl)를 업데이트해야 합니다.

API 클라이언트를 업데이트하려면 각 클라이언트에 대해 다음 명령어를 실행하세요.

gcloud container clusters get-credentials [CLUSTER_NAME]

순환 완료

순환을 완료하려면 다음 명령어를 실행하세요.

gcloud container clusters update [CLUSTER_NAME] --complete-ip-rotation

이 명령어는 다음 출력을 반환합니다.

This will complete the in-progress IP Rotation on cluster [CLUSTER_NAME].
The master will be updated to stop serving on the old IP address and only
serve on the new IP address. Make sure all API clients have been updated
to communicate with the new IP address (e.g. by running `gcloud container
clusters get-credentials --project [PROJECT-ID] --zone [COMPUTE-ZONE]
[CLUSTER-NAME]`). This operation is long-running and will
block other operations on the cluster (including delete) until it has
run to completion.

이 명령어는 새 IP 주소만 제공하도록 클러스터 마스터를 구성합니다. 이로 인해 잠깐 동안 클러스터 API의 다운타임이 발생합니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Kubernetes Engine