선택 기능 사용 설정

Anthos Service Mesh를 설치할 때 지원되는 기능 페이지에 나열된 지원되는 기본 기능을 사용 설정하는 Anthos Service Mesh 구성 프로필을 지정합니다. Anthos Service Mesh 구성 프로필 asm.yamlasm-onprem.yaml은 Anthos Service Mesh 설치 루트 디렉터리 내의 install/kubernetes/operator/profiles 하위 디렉터리에 있습니다. 구성 프로필은 Anthos Service Mesh와 함께 설치되는 기능을 정의하고 구성합니다.

ASM 구성 프로필을 재정의하고 --set values를 사용하여 명령줄에서 지원되는 선택사항 기능을 사용 설정할 수 있습니다. 또는 사용 설정할 기능이 많거나 기능에 여러 설정이 포함된 경우 IstioControlPlane 커스텀 리소스 정의 파일을 만들 수 있습니다. -f 옵션을 사용하여 파일을 istioctl로 전달합니다. 자세한 내용은 구성 맞춤설정을 참조하세요.

선택 기능을 사용 설정하는 경우 다음 사항을 확인합니다.

  • 사용 설정하는 기능이 지원되는지 확인합니다.

  • 플랫폼에 적합한 구성 프로필을 지정합니다.

    • Google Kubernetes Engine의 경우 --set profile=asm 사용
    • VMware용 GKE의 경우 --set profile=asm-onprem 사용

선택적 기능을 사용 설정하는 명령줄 옵션

다음 표에서는 선택적 기능 및 지원되는 기능을 사용 설정하는 명령줄 옵션을 제공합니다.

기능 명령줄 옵션
mTLS STRICT 모드 --set values.global.mtls.enabled=true
Prometheus --set values.prometheus.enabled=true
Grafana(Prometheus 필요) --set values.prometheus.enabled=true \
--set values.grafana.enabled=true
Envoy를 stdout로 전달 --set values.global.proxy.accessLogFile="/dev/stdout"
자세한 내용은 Envoy의 액세스 로깅 사용 설정을 참조하세요.
Stackdriver 추적 --set values.tracing.enabled=true \
--set values.global.proxy.tracer="stackdriver"
이그레스 게이트웨이를 통한 이그레스 --set values.gateways.istio-egressgateway.enabled=true
자세한 내용은 게이트웨이를 참조하세요.

예시

GKE에 Anthos Service Mesh를 설치하는 명령어는 다음 환경 변수를 사용합니다.

  • Google Cloud 프로젝트 ID를 설정합니다.

    export PROJECT_ID=YOUR_PROJECT_ID
  • 프로젝트 번호를 설정합니다.

    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
  • 클러스터 이름을 설정합니다.

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

  • CLUSTER_LOCATION을 클러스터 영역 또는 클러스터 리전으로 설정합니다.

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

  • 워크로드 풀을 설정합니다.

    export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog

  • 메시 ID를 설정하세요. 측정항목이 Google Cloud 콘솔의 Anthos Service Mesh 페이지에 표시되려면 필요합니다.

    export MESH_ID="proj-${PROJECT_NUMBER}"

이그레스 게이트웨이 사용 설정

PERMISSIVE 상호 TLS(mTLS) 인증 모드에서 Anthos Service Mesh를 설치하고 이그레스 게이트웨이를 사용 설정하려면 다음 안내를 따르세요.

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.gateways.istio-egressgateway.enabled=true

GKE On-Prem

istioctl manifest apply --set profile=asm-onprem} \
--set values.gateways.istio-egressgateway.enabled=true

STRICT mTLS 모드 사용 설정

STRICT mTLS 모드로 Anthos Service Mesh를 설치하려면 다음 안내를 따르세요.

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.global.mtls.enabled=true

GKE On-Prem

istioctl manifest apply --set profile=asm-onprem \
--set values.global.mtls.enabled=true

내부 부하 분산기 사용 설정

GKE에 설치하는 경우 Istio 인그레스 게이트웨이에 대한 내부 부하 분산기를 사용 설정할 수 있습니다. 내부 부하 분산기는 VMware용 GKE에 지원되지 않습니다. VMware용 GKE를 구성하는 방법은 VMware용 GKE의 부하 분산기 설정을 참조하세요.

  1. 다음 텍스트를 파일에 복사하여 ilb.yaml로 저장합니다.

    apiVersion: install.istio.io/v1alpha2
    kind: IstioControlPlane
    spec:
      values:
        gateways:
          istio-ingressgateway:
            serviceAnnotations:
              cloud.google.com/load-balancer-type: internal
            ports:
              - name: status-port
                port: 15020
              - name: http2
                port: 80
              - name: https
                port: 443
    
  2. 명령줄에서 파일을 지정합니다.

    istioctl manifest apply --set profile=asm \
    --set values.global.trustDomain=${WORKLOAD_POOL} \
    --set values.global.sds.token.aud=${WORKLOAD_POOL} \
    --set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
    --set values.global.meshID=${MESH_ID} \
    --set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
    -f ilb.yaml