xDS 제어 영역 API

Cloud Service Mesh 및 클라이언트(Envoy 프록시 또는 프록시리스 gRPC 라이브러리)는 오픈소스 xDS API를 사용하여 정보를 교환합니다. Cloud Service Mesh를 구성하면(예: 전달 규칙 및 백엔드 서비스와 같은 리소스 사용) Cloud Service Mesh에서 이러한 리소스를 xDS 구성으로 변환하고 클라이언트와 공유합니다.

xDS 버전 지원

Cloud Service Mesh는 xDS v3만 지원합니다.

어떤 Envoy 및 gRPC 버전에서 xDS v3를 지원하는지 확인하려면 EnvoygRPC 문서를 참조하세요.

아직 xDS v2를 사용하고 있는 경우 다음 안내에 따라 xDS v3으로 마이그레이션하세요.

xDS v2에서 xDS v3로 마이그레이션

마이그레이션 프로세스에는 두 가지 단계가 있습니다.

  1. Cloud Service Mesh에 연결할 때 클라이언트(Envoy 프록시 또는 프록시리스 gRPC 라이브러리)에서 사용하는 서비스 계정에 부여된 Identity and Access Management(IAM) 권한을 업데이트합니다.
  2. 애플리케이션을 업데이트하고 다시 배포합니다. 구체적인 단계는 배포에 따라 다르며 다음 섹션에서 설명합니다.

서비스 계정의 IAM 권한 업데이트

Cloud Service Mesh 클라이언트(Envoy, 프록시리스 gRPC)에서 사용하는 서비스 계정에 trafficdirector.networks.reportMetricstrafficdirector.networks.getConfigs 권한이 있는지 확인합니다. 이러한 권한은 IAM Cloud Service Mesh 클라이언트 역할(roles/trafficdirector.client)에 포함되어 있습니다.

커스텀 IAM 역할을 사용 중인 경우 이러한 권한을 커스텀 역할에 추가할 수 있습니다. 권한을 추가한 후 서비스 계정에서 Compute 네트워크 뷰어 역할(roles/compute.networkViewer), Compute 네트워크 관리자 역할(roles/compute.networkAdmin) 또는 둘 다 삭제할 수 있습니다.

Compute 뷰어 역할(roles/compute.networkViewer) 또는 Compute 네트워크 관리자 역할(roles/compute.networkAdmin) 대신 Cloud Service Mesh 클라이언트 역할을 사용하는 것이 좋습니다. Cloud Service Mesh 클라이언트 역할을 사용하면 서비스 계정에 부여된 권한이 제한되고 지나치게 다양한 권한이 부여되는 것을 방지할 수 있습니다.

애플리케이션 업데이트

서비스 계정에서 IAM 권한을 업데이트한 후 애플리케이션을 업데이트합니다.

Compute Engine 기반 Envoy

Compute Engine에서 Envoy의 애플리케이션을 업데이트하려면 관리형 인스턴스 그룹의 순차적 재시작 또는 교체를 수행합니다. xDS v3를 지원하는 Envoy 버전이 가상 머신(VM) 인스턴스에 자동으로 추가됩니다.

GKE 기반 Envoy

Google Kubernetes Engine(GKE)에서 자동 Envoy 삽입을 사용하는 경우 Cloud Service Mesh와 함께 사용하는 GKE 클러스터에 사이드카 인젝터를 다시 설치합니다. 새 포드가 생성되면 xDS v3를 지원하는 Envoy 사이드카 프록시가 워크로드 포드와 함께 자동으로 삽입됩니다.

GKE에서 수동 사이드카 삽입을 사용하는 경우 각 GKE 클러스터에 사이드카 프록시를 다시 배포합니다.

프록시리스 gRPC

마이그레이션 프로세스에는 두 가지 단계가 있습니다.

  1. 사용 중인 gRPC 버전이 xDS v3를 지원하는지 확인합니다. 자세한 내용은 gRPC의 xDS 기능을 참조하세요.

  2. 다음 단계에 따라 부트스트랩 구성을 업데이트합니다.

    1. 부트스트랩 파일 예시와 같이 "xds_servers" 필드에 "server_features": ["xds_v3"]를 추가합니다.
    2. 앞선 예시와 같이 노드 ID는 다음 형식이어야 합니다.

      "projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
      

위와 같이 애플리케이션을 변경한 후 빌드하고 다시 배포하세요.

앞선 부트스트랩 구성 변경사항은 xDS v3를 지원하지 않는 gRPC 버전에 영향을 미치지 않습니다. 또한 앞선 변경사항이 부트스트랩 구성에 없으면 xDS v3를 지원하는 gRPC 버전은 xDS v2를 사용합니다.

편의를 위해 Cloud Service Mesh gRPC 부트스트랩 생성기 버전 0.16.0 이상을 사용하여 xDS v3 호환 부트스트랩 구성을 생성할 수 있습니다.

Cloud Service Mesh 클라이언트에서 xDS v3를 사용하는지 확인

Cloud Service Mesh가 이 클라이언트를 위해 생성하는 구성을 검사하려면 클라이언트 상태 도구를 사용하면 됩니다. 이 도구는 구성이 xDS v2 또는 xDS v3인지 명시합니다.

다음 단계