관리형 컨트롤 플레인 현대화

개요

Google은 TRAFFIC_DIRECTOR 구현을 사용하도록 ISTIOD 관리형 컨트롤 플레인 구현을 사용했던 기존 Fleet를 점진적으로 업데이트할 예정입니다. 기본적으로 Google에서 자동으로 Fleet을 마이그레이션하지만 개발자가 직접 마이그레이션을 수행할 수도 있습니다. Fleet에서 사용 중인 컨트롤 플레인을 확인하려면 컨트롤 플레인 구현 확인을 참조하세요.

Fleet 현대화를 준비할 때 다음을 고려하세요.

  1. 현대화를 준비하려면 다음 두 가지 방법으로 프로세스를 제어할 수 있습니다.

    • Google 주도 자동 마이그레이션(기본값) - Google 주도 현대화의 안내를 수행하여 클러스터 현대화 순서를 맞춤설정할 수 있습니다.

    • 고객 주도 마이그레이션(선택사항) - 고객 주도 현대화의 안내에 따라 차량에 라벨을 지정하여 직접 Fleet 현대화를 진행할 수 있습니다.

  2. Google 주도 현대화가 기본값입니다. 이 옵션을 사용하면 Google에서 Fleet 현대화 가능 시점을 결정합니다. Google에서 Fleet 현대화를 예약하고 프로세스를 시작하기 전에 알림을 보냅니다.

  3. 클러스터를 현대화하면 프록시가 있는 워크로드가 다시 시작됩니다. Kubernetes 권장사항을 따르면 다운타임이 발생하지 않습니다. 또한 유지보수 기간을 구성한 경우 Google에서 이 기간에 현대화를 트리거합니다. 시작되면 추가 적응 시간 6일 후에 완료로 표시됩니다. 모니터링에서 문제가 감지되면 롤백을 요청할 수 있습니다.

  4. 고객 주도 현대화의 경우 Google에서 Fleet이 현대화될 수 있으면 알림을 보냅니다. 그러면 개발자는 클러스터별로 현대화를 트리거할 시기를 선택할 수 있습니다. 완료되면 각 Fleet 현대화가 완료된 것으로 표시합니다.

  5. Fleet이 현대화되면 Google에서 모든 Istiod 기반 구성요소를 삭제합니다.

  6. TRAFFIC_DIRECTOR 컨트롤 플레인 구현을 사용하려면 클러스터를 메시 기능이 사용 설정된 Fleet에 등록해야 합니다. 기존 도구를 사용하여 온보딩한 경우 Google은 gkehub.googleapis.com 멤버십 API를 사용하여 자동으로 클러스터를 프로젝트의 Fleet에 등록합니다. 클러스터 등록을 취소하는 자동화가 있는 경우 현대화하기 전에 이를 삭제해야 합니다.

Google 주도 현대화

고객 주도 현대화를 위해 Fleet에 라벨을 지정하지 않는 경우 이 옵션이 기본값입니다. Google은 Fleet을 모니터링하여 Fleet이 안전하게 현대화될 수 있는 시점을 결정합니다. 조직의 모든 메시 지원 Fleet이 준비되면 조직 현대화가 예약됩니다.

여러 Fleet

조직에 관리형 Cloud Service Mesh가 포함된 Fleet이 여러 개 있는 경우 mesh-modernization-order 프로젝트 라벨을 early, default, late 값 중 하나로 설정하여 Google에서 Fleet를 현대화하는 순서를 제어할 수 있습니다. Google은 다음 그룹의 Fleet을 현대화하기 전에 각 그룹의 현대화를 완료합니다. 고객 주도 현대화를 선택한 Fleet은 이 순서에 고려되지 않습니다.

다음 명령어를 사용하여 Fleet의 mesh-modernization-order 라벨을 설정합니다.

gcloud alpha projects update FLEET_PROJECT_ID --update-labels="mesh-modernization-order=VALUE"

콘솔이나 REST를 사용하여 프로젝트 라벨을 설정하는 방법은 라벨 만들기 및 관리 문서를 참조하세요.

Google Cloud 조직을 사용하지 않으면 Fleet이 독립적으로 예약되고 현대화되며 개발자는 순서를 제어할 수 없습니다.

멀티 클러스터 메시

Fleet에 관리형 Cloud Service Mesh를 사용하는 클러스터가 여러 개 있는 경우 mesh-modernization-order의 클러스터 라벨을 early, default, late 값 중 하나로 설정하여 Google에서 클러스터를 현대화하는 순서를 제어할 수 있습니다. Google은 각 그룹의 현대화를 시작하고 자동화된 현대화 단계가 완료될 때까지 기다린 후에 다음 그룹의 클러스터를 현대화합니다. 이 순서는 한 Fleet 내에서만 적용되며 동시에 현대화 중인 조직의 다른 Fleet에는 영향을 미치지 않습니다.

다음 명령어를 사용하여 클러스터의 mesh-modernization-order 라벨을 설정합니다.

gcloud container clusters update CLUSTER_NAME \
  --location LOCATION \
  --update-labels="mesh-modernization-order=VALUE"

알림 및 예약

이 섹션에서는 예정된 Fleet 및 클러스터 현대화에 대한 알림을 받는 방법을 설명합니다.

곧 현대화 예정이라는 알림

먼저 앞으로 몇 주 내에 진행될 Google 주도 현대화에 Fleet이 선택되면 알림이 전송됩니다.

이 알림은 매월 미국의 첫 번째 영업일 전에 전송됩니다. 가장 빠른 클러스터 현대화 시작일은 한 달의 첫 번째 미국 영업일로부터 14일 후이며 Google은 다음 달 말(달력 기준)까지 조직의 첫 번째 클러스터 현대화를 시작하기 위해 최선을 다할 것입니다. 예를 들어 알림이 2025년 4월 1일 전에 제공되면 클러스터 현대화는 2025년 4월 15일에 시작될 수 있으며 첫 번째 클러스터 현대화는 2025년 5월 31일 전에 시작됩니다.

조직의 각 Fleet(고객 주도 현대화를 선택한 Fleet 제외)에 대한 알림이 동시에 전송됩니다.

이 알림은 Fleet 수준 기능 상태 조건에서 제공됩니다. 다음 Google Cloud CLI 명령어를 사용하여 알림을 확인합니다.

gcloud alpha container fleet mesh describe --project $FLEET_PROJ

Fleet이 예약되면 다음과 유사하게 code: MODERNIZATION_WILL_BE_SCHEDULEDdetails가 포함된 조건이 표시됩니다.

state:
  servicemesh:
    conditions:
      - code: MODERNIZATION_WILL_BE_SCHEDULED
        details: We will soon schedule clusters in this fleet to be modernized to use the TRAFFIC_DIRECTOR
          control plane implementation. Please confirm your fleet and cluster preferences prior to
          scheduling. Cluster modernization dates will be on or after 2025-03-17.
        documentation_link: ...
        severity: INFO

현대화 예약에 대한 클러스터 수준 알림

클러스터 현대화가 시작되기 최소 1일 전에 클러스터 Google 주도 클러스터 현대화 예상 시작 날짜에 대한 알림이 클러스터 수준으로 전송됩니다.

Fleet 수준 알림을 따라 개별 클러스터의 현대화 시점을 훨씬 더 정확하게 파악할 수 있습니다.

알림은 클러스터 수준 기능 상태 조건에서 제공됩니다. 다음 Google Cloud CLI 명령어를 사용하여 알림을 확인합니다.

gcloud container hub mesh describe --project=PROJECT_ID

다음과 비슷한 결과가 표시됩니다.

membershipStates:
  projects/656460026795/locations/us-central1/memberships/cluster:
    servicemesh:
      conditions:
      - code: MODERNIZATION_SCHEDULED
        details: This cluster has been scheduled for modernization on or after 2025-03-17.
        documentationLink: ...
        severity: INFO

Google 주도 마이그레이션을 위한 적극적인 현대화

이 섹션에서는 Google 주도 현대화 단계를 설명합니다.

Fleet 현대화

Google에서 조직의 각 Fleet에 대한 적극적인 현대화를 트리거합니다. 즉, 각 Fleet에서 다음 단계가 수행됩니다.

  1. earlymesh-modernization-order로 모든 클러스터를 현대화합니다.
  2. default 또는 지정되지 않은 mesh-modernization-order로 모든 클러스터를 현대화합니다.
  3. latemesh-modernization-order로 모든 클러스터를 현대화합니다.
  4. 각 클러스터의 현대화가 완료됨으로 표시될 때까지 기다립니다. 즉, 이 Fleet의 클러스터에서 마지막 포드를 다시 시작한 후 영업일 기준 최소 6일 이상을 기다려야 합니다.
  5. 이 Fleet 현대화를 완료하여 Istiod 기반 구성요소를 삭제합니다.

클러스터 현대화

클러스터 활성 현대화 중에 두 컨트롤 플레인 구현 모두가 일시적으로 나란히 실행되며 안전하고 통제된 방식으로 다음 태스크가 처리됩니다.

  1. 새 컨트롤 플레인 구현을 사용 설정합니다. 클러스터의 유지보수 기간을 구성하고 Google 주도 현대화를 사용하는 경우 이 단계는 유지보수 기간 중에 시작되어 완료될 때까지 계속됩니다.
    • 상태 점검이 사용 설정되도록 snk 데몬셋이 클러스터의 kube-system 네임스페이스에 생성되고 클러스터별 방화벽 규칙이 생성됩니다.
  2. 트래픽을 새 컨트롤 플레인 구현으로 전환합니다. 클러스터에 유지보수 기간을 구성하고 Google 주도 현대화를 사용하는 경우 이 단계는 유지보수 기간 중에 시작되어 완료될 때까지 계속됩니다.
    • Cloud Service Mesh 프록시가 있는 Kubernetes 배포에서 관리하는 포드는 다시 시작되어 새 컨트롤 플레인에 다시 연결됩니다.
    • 포드는 모니터링을 위해 각 웨이브 후에 적응 시간을 거쳐 점점 더 큰 웨이브로 다시 시작됩니다.
  3. 클러스터의 현대화가 완료됨으로 표시되기까지 적응 시간으로 최소 6일 이상(영업일 기준) 기다려야 합니다.

다음 Google Cloud CLI 명령어를 사용하여 활성 현대화 상태를 확인합니다.

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

클러스터별 membershipStates 필드에 다음 중 하나와 같은 조건이 표시됩니다.

...
membershipStates:
  projects/FLEET_PROJ/locations/us-central1/memberships/MEMBERSHIP:
    servicemesh:
      conditions:
      - code: MODERNIZATION_IN_PROGRESS
        details: ...
        documentationLink: ...
        severity: INFO
...
      # If you see this, see instructions provided in the details and documentationLink fields.
      - code: MODERNIZATION_ACTION_REQUIRED
        details: [details about required actions]
        documentationLink: [link to documentation for required actions]
        severity: WARNING
...
      - code: MODERNIZATION_COMPLETED
        details: ...
        documentationLink: ...
        severity: INFO

고객 주도 현대화

Fleet 수준에서 직접 정확한 현대화 시점을 제어할 수 있습니다. 이렇게 하려면 다음 명령어를 사용하여 Fleet 호스트 프로젝트에 라벨을 적용합니다.

gcloud alpha projects update FLEET_PROJECT_ID \
  --update-labels="mesh-modernization-mode=manual"

Google Cloud 조직에 Fleet이 여러 개 있는 경우 라벨이 지정되지 않은 Fleet이 Google 주도 현대화에 예약됩니다.

Fleet을 현대화할 수 있게 되면 Fleet 수준의 기능 상태에 알림이 표시됩니다. 이 알림을 받은 후 3개월 이내에 현대화를 트리거해야 합니다.

다음 필수 구성 권장사항을 참고하여 클러스터를 현대화할 준비를 하세요. 알림을 받으려면 Cloud Service Mesh 출시 노트 피드를 구독하세요.