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

개요

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

현대화를 위해 차량을 준비할 때 다음 사항을 고려하세요.

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

    • Google 주도 자동 이전 (기본값) - Google 주도 현대화의 안내에 따라 클러스터 현대화 순서를 맞춤설정할 수 있습니다.

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

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

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

  4. 고객 주도형 현대화의 경우 Google에서 기기의 현대화가 준비되면 알려줍니다. 그런 다음 클러스터별로 현대화를 트리거할 시기를 선택할 수 있습니다. 완료되면 각 차량 현대화를 완료된 것으로 표시합니다.

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

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

Google 주도 현대화

고객 중심의 현대화를 위해 차량에 라벨을 지정하지 않으면 이 옵션이 기본값입니다. Google에서는 기기의 업그레이드가 안전하게 진행될 수 있는 시점을 판단하기 위해 기기를 모니터링합니다. 조직의 모든 메시 지원 Fleet가 준비되면 조직의 현대화가 예약됩니다.

여러 차량 호출

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

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

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

Console 또는 REST를 사용하여 프로젝트 라벨을 설정하는 방법은 라벨 만들기 및 관리 문서를 참고하세요.

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

멀티 클러스터 메시

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

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

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

알림 및 예약

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

현대화가 곧 예약될 예정이라는 알림

먼저 앞으로 몇 주 내에 Google 주도 현대화를 위해 내 차량이 선정되면 알림이 전송됩니다.

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

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

이 알림은 차량 수준 기능 상태 조건에서 사용할 수 있습니다. 다음 Google Cloud CLI 명령어를 사용하여 알림을 확인합니다.

gcloud alpha container fleet mesh describe --project $FLEET_PROJ

함대가 예약되면 다음과 유사하게 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 주도 현대화의 단계를 설명합니다.

기기 현대화

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

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

클러스터 현대화

클러스터의 현대화가 진행되는 동안 두 제어 영역 구현이 일시적으로 나란히 실행되며 안전하고 통제된 방식으로 다음 작업이 처리됩니다.

  1. 새 컨트롤 플레인 구현을 사용 설정합니다. 클러스터에 유지보수 기간을 구성하고 Google 주도 현대화를 사용하는 경우 이 단계는 유지보수 기간 중에 시작되어 완료될 때까지 계속됩니다.
  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 호스트 프로젝트에 라벨을 적용합니다.

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

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

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

이 문서는 현대화를 수동으로 트리거하는 방법에 관한 세부정보를 포함하도록 업데이트될 예정입니다. Cloud Service Mesh 출시 노트 피드를 구독하여 알림을 받으세요.