Anthos Service Mesh를 설치할 때 지원되는 기능 페이지에 나열된 지원되는 기본 기능을 사용 설정하는 Anthos Service Mesh 구성 프로필을 지정합니다. Anthos Service Mesh 구성 프로필 asm.yaml
및 asm-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
사용
- Google Kubernetes Engine의 경우
선택적 기능을 사용 설정하는 명령줄 옵션
다음 표에서는 선택적 기능 및 지원되는 기능을 사용 설정하는 명령줄 옵션을 제공합니다.
기능 | 명령줄 옵션 |
---|---|
mTLS STRICT 모드 |
--set values.global.mtls.enabled=true |
Prometheus | --set values.prometheus.enabled=true |
Grafana(Prometheus 필요) |
--set values.prometheus.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의 부하 분산기 설정을 참조하세요.
다음 텍스트를 파일에 복사하여
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
명령줄에서 파일을 지정합니다.
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