Istio 부가기능을 Cloud Service Mesh로 마이그레이션

이 단계는 Istio on GKE의 인그레스 게이트웨이가 클러스터에 구성된 것으로 확인된 설치에 해당합니다. 이 프로세스에서 Cloud Service Mesh 버전 1.18은 관리형 컨트롤 플레인으로 설치됩니다.

시작하기 전에

개요

일반적으로 컨트롤 플레인을 사용하여 'Istio 부가기능'에서 Cloud Service Mesh로 마이그레이션하는 프로세스에는 다음이 포함됩니다.

  1. Cloud Service Mesh 관리 컨트롤 플레인을 설치합니다.
  2. 마이그레이션 스크립트를 사용하여 Cloud Service Mesh 인그레스 게이트웨이를 구성합니다.

Cloud Service Mesh 버전 1.18로 마이그레이션

Cloud Service Mesh 문서 'Istio on GKE에서 Cloud Service Mesh로 마이그레이션'의 자세한 안내를 따라야 합니다. 설치를 완료하고 워크로드를 마이그레이션한 후 이 페이지로 돌아와서 남은 구성 단계를 완료하세요.

  1. 'Istio 부가기능 마이그레이션 안내'에 따라 Google 관리형 컨트롤 플레인을 사용해서 Cloud Service Mesh로 설치를 마이그레이션합니다.

    이 과정 중에 알아야 하는 핵심 항목:

    • custom envoy filters are not supported가 표시되는 경우, 단순히 '예'를 선택하면 마이그레이션이 계속됩니다. 예를 들면 다음과 같습니다.

      Detected custom envoy filters are not supported by Cloud Service Mesh.
      Please remove these if possible
      NAMESPACE    NAME                                 AGE
      gke-system   allowconnect-cluster-local-gateway   26m
      Continue anyways? [y/N] Y
      
    • 마이그레이션 안내에는 Cloud Service Mesh 설치를 완료하기 위한 단계를 수행하는 성공적인 마이그레이션 완료 섹션이 포함되어 있습니다. 중요: 이러한 단계를 수행한 후에는 더 이상 변경사항을 롤백할 수 없습니다.

    Istio 부가기능 마이그레이션 안내: Istio on GKE에서 Cloud Service Mesh로 마이그레이션

  2. 마이그레이션 단계를 완료하고 워크로드를 Cloud Service Mesh로 마이그레이션한 후 다음 명령어를 실행하여 knative-serving 네임스페이스에서 인그레스 포드를 다시 시작하고 라벨을 지정합니다.

    1. 인그레스 포드를 다시 시작합니다.

      kubectl rollout restart deployment autoscaler activator webhook -n knative-serving
      
    2. istio: ingressgateway 라벨을 추가합니다.

      kubectl patch deployment ${INGRESS_NAME} --namespace ${INGRESS_NAMESPACE} --patch  '{"spec": {"template": {"metadata": {"labels": {"istio": "ingressgateway"}}}}}'
      

Cloud Service Mesh 인그레스 구성

이 섹션에서는 마이그레이션 스크립트를 사용하여 출시 채널을 Cloud Service Mesh 관리 컨트롤 플레인에 대해 asm-managed-rapid로 설정합니다.

다음 명령어를 실행하여 마이그레이션 스크립트를 시작합니다.

 ./migration-addon.sh \
 --asm-revision asm-managed-rapid \
 --command set-up-asm-ingress

다음 단계

Fleet 구성요소 설치

롤백

위 단계를 통해 수행한 변경사항을 롤백해야 하는 경우 다음과 같이 할 수 있습니다.

  • 마이그레이션 스크립트를 사용하여 Cloud Service Mesh 인그레스를 삭제합니다.
  • Cloud Service Mesh 설치를 롤백합니다.

Google 관리형 컨트롤 플레인을 사용하여 Cloud Service Mesh 설치 및 구성을 롤백하려면 다음을 수행합니다.

  1. 다음 명령어를 실행하여 Cloud Service Mesh 인그레스를 삭제합니다.

    ./migration-addon.sh --command rollback-set-up-asm-ingress
    

    프로세스 중의 터미널 출력은 다음과 비슷하게 표시됩니다.

    Deleting Cloud Service Mesh ingress
    deployment.apps "istio-ingressgateway" deleted
    horizontalpodautoscaler.autoscaling "istio-ingressgateway" deleted
    role.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted
    rolebinding.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted
    Cloud Service Mesh ingress is successfully deleted.
    
  2. 롤백을 확인하려면 istio-ingressgateway 서비스가 gke-system 네임스페이스에 더 이상 없는지 확인합니다.

    kubectl get deployment istio-ingressgateway -n gke-system
    
  3. Cloud Service Mesh 설치 롤백

  4. 다음 명령어를 실행하여 'Istio 부가기능'을 다시 사용 설정합니다.

    ./migration-addon.sh --command rollback-uninstall-istio-addon
    
  5. 변경사항을 설치 초기 상태로 계속 롤백하려면 Istio 부가 기능을 롤백합니다.