Envoy 부트스트랩 속성 구성

서비스 메시를 지원하는 Envoy 프록시 및 gRPC 라이브러리가 초기화될 때 Traffic Director에 연결하고 Traffic Director 클라이언트가 되어야 합니다. 이 연결을 설정하려면 클라이언트가 구성 정보를 사용하여 부트스트랩되어야 합니다. 예를 들면 다음과 같습니다.

  • Traffic Director의 위치(trafficdirector.googleapis.com)
  • 클라이언트가 구성을 요청해야 하는 VPC 네트워크 이름
  • 로깅 사용 설정 여부와 같은 기타 선택적 정보

이 문서에서는 Traffic Director와 함께 Envoy를 사용할 때 부트스트랩 정보를 제공하는 방법을 설명합니다. 부트스트랩 구성 제공을 위해 사용되는 방법은 서비스 배포 방법에 따라 다릅니다.

  • VM과 함께 자동으로 배포되는 Envoy 사이드카 프록시의 경우, 인스턴스 템플릿을 만들 때의 매개변수에 해당하는 자동 Envoy 배포를 사용한 VM 설정 옵션을 참조하세요.
  • GKE pod를 사용하여 자동으로 배포된 Envoy 사이드카 프록시의 경우 아래 지원되는 매개변수를 사이드카 인젝터 ConfigMapproxyMetadata에 추가합니다. 필수 속성 구성에 대한 자세한 내용은 자동 Envoy 삽입으로 Google Kubernetes Engine 포드 설정을 참조하세요.
  • 수동 Envoy 배포의 경우 아래 지원되는 매개변수를 프록시의 부트스트랩 노드 메타데이터 구성에 추가합니다.

수동 Envoy 배포의 필수 부트스트랩 구성

다음 표에는 모든 필수 부트스트랩 구성 속성이 포함되어 있습니다.

속성 설명
TRAFFICDIRECTOR_NETWORK_NAME 문자열. 예를 들면 기본값입니다.

구성을 요청한 Google Cloud VPC 네트워크 이름입니다(Google Cloud API의 전달 규칙에서 참조된 VPC 네트워크 이름).

  • xDS v2 API를 사용할 때는 네트워크 이름을 설정하는 것이 좋습니다. 이 값이 비어 있으면 Traffic Director는 사이드카 프록시에서 trafficdirector.googleapis.com으로 요청을 전송하는 VPC 네트워크의 구성을 선택하려고 도합니다.
  • xDS v3 API를 사용할 때는 네트워크 이름을 제공해야 합니다.
  • 이 값을 빈칸으로 남겨두는 것은 권장하지 않습니다. 이후 출시 버전에서는 비워진 값이 지원되지 않을 수 있습니다.

    TRAFFICDIRECTOR_GCP_PROJECT_NUMBER 숫자 문자열. 예를 들면 123456789입니다. Traffic Director 리소스가 구성된 Google Cloud 프로젝트입니다. 프로젝트의 숫자 식별자입니다(예: 111222333444).

    gcloud projects list 명령어를 사용하거나 Google Cloud Console의 프로젝트 정보 섹션을 검토하여 모든 프로젝트와 해당 프로젝트 번호가 포함된 목록을 가져올 수 있습니다.

  • xDS v2 API를 사용할 때는 프로젝트 번호를 설정하는 것이 좋습니다. 이 필드를 비워 두면 Traffic Director가 서비스 계정 사용자 인증 정보와 연결된 Google Cloud 프로젝트의 구성을 가져오려고 시도합니다. 이후 출시 버전에서는 비워진 값이 지원되지 않을 수 있습니다.
  • xDS v3 API를 사용할 때는 프로젝트 번호를 제공해야 합니다.
  • 수동 Envoy 배포의 선택적 부트스트랩 구성

    다음 표에는 모든 선택적 부트스트랩 구성 속성이 포함되어 있습니다.

    속성 설명
    TRAFFICDIRECTOR_INTERCEPTION_PORT 0~65535 범위의 정수

    가로채기 리스너의 포트 번호입니다. Traffic Director에 구성된 서비스로 전송되는 트래픽은 이 포트로 리디렉션되어야 합니다.

    이 값을 비워두면 Traffic Director에서 가로채기 리스너를 구성하지 않습니다. 구성이 아웃바운드 트래픽 가로채기에 의존하는 경우 가로채기 리스너가 없으면 트래픽 흐름이 중단됩니다. 인바운드 트래픽만 가로채야 하는 중간 프록시 사용 사례에는 이 필드가 필요하지 않습니다.

    TRAFFICDIRECTOR_ACCESS_LOG_PATH 문자열로 표시되는 액세스 로그 파일의 경로입니다. 예: '/var/log/sidecar/access.log' 이 매개변수의 값은 다른 매개변수와 함께 Traffic Director가 프록시로 전송하는 파일 액세스 로그 구성에 사용됩니다. 모든 수신 및 발신 요청은 이 파일에 기록됩니다. 자세한 내용은 Envoy 프록시의 파일 액세스 로그 문서를 참조하세요.
    TRAFFICDIRECTOR_ENABLE_TRACING 문자열로 표시된 부울(예: true) 사이드카 프록시가 분산 추적 정보를 생성하도록 사용 설정합니다. true로 설정된 경우 Traffic Director가 사이드카 프록시에 Envoy 추적 매개변수를 프로그래밍하고 generate_request_id가 'true'로 설정됩니다.

    다음은 Envoy 프록시 부트스트랩 구성의 노드 메타데이터 섹션에서 지원되는 속성을 구성하는 방법을 yaml 형식으로 보여준 예시입니다.

    node:
      metadata:
        TRAFFICDIRECTOR_INTERCEPTION_PORT: "15001"
        TRAFFICDIRECTOR_NETWORK_NAME: "default"
        TRAFFICDIRECTOR_GCP_PROJECT_NUMBER: "111222333444"
        TRAFFICDIRECTOR_ACCESS_LOG_PATH: "/tmp/sidecar/access.log"
        TRAFFICDIRECTOR_ENABLE_TRACING: "true"