선택 기능 사용 설정

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

IstioOperator API를 사용하여 ASM 구성 프로필을 재정의하고 지원되는 선택사항 기능을 사용 설정할 수 있습니다. YAML 파일에서 IstioOperator 구성을 지정하고 -f 명령줄 옵션을 사용하여 istioctl manifest apply 명령어에 파일을 전달합니다.

명령줄에서 --set 옵션을 사용하여 구성 매개변수를 지정할 수 있지만, 클러스터 리소스 구성 파일과 함께 버전 제어 시스템에 파일을 저장할 수 있도록 구성에 YAML 파일을 사용하는 것이 좋습니다.

YAML 구성의 spec 섹션은 --set 명령줄 옵션에 해당합니다. 예를 들어 STRICT mTLS 모드를 사용 설정하는 YAML은 다음과 같습니다.

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  global:
    mtls:
      enabled: true

해당 명령줄 옵션은 다음과 같습니다. --set global.mtls.enabled=true

자세한 내용은 구성 맞춤설정을 참조하세요.

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

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

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

    • Google Kubernetes Engine의 경우 --set profile=asm 사용
    • VMware용 GKE의 경우 --set profile=asm-onprem 사용
  • GKE의 경우 리소스 구성 파일 준비에 설명된 대로 istio-operator.yaml 파일을 준비하고 istioctl manifest apply을 실행할 때 명령줄에서 선택 기능으로 istio-operator.yaml 파일과 YAML 파일을 지정합니다.

다음 표에서는 선택 기능 및 지원되는 기능을 사용 설정하는 YAML을 제공합니다.

기능 YAML
mTLS STRICT 모드

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  global:
    mtls:
      enabled: true
Envoy를 stdout로 전달

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  global:
    proxy:
      accessLogFile="/dev/stdout"

자세한 내용은 Envoy의 액세스 로깅 사용 설정을 참조하세요.

Cloud Trace

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  addonComponents:
    tracing:
      enabled: true
  values:
    global:
      proxy:
        tracer: "stackdriver"
이그레스 게이트웨이를 통한 이그레스

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    egressGateways:
      - name: istio-egressgateway
        enabled: true

자세한 내용은 게이트웨이를 참조하세요.

GKE: Istio 컨테이너 네트워크 인터페이스(CNI) GKE의 경우:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    cni:
      enabled: true
      namespace: kube-system
  values:
    cni:
      cniBinDir: /home/kubernetes/bin
      excludeNamespaces:
        - istio-system
        - kube-system

VMware용 GKE의 경우 gke-systemexcludeNamespaces에 추가하고 values.cni.cniBinDir/opt/cni/bin입니다.


apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    cni:
      enabled: true
      namespace: kube-system
  values:
    cni:
      cniBinDir: /opt/cni/bin
      excludeNamespaces:
        - istio-system
        - kube-system
        - gke-system

또한 네트워크 정책을 사용 설정해야 합니다.

.
내부 부하 분산기 사용 설정

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


apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: empty
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s:
          serviceAnnotations:
            cloud.google.com/load-balancer-type: "internal"
          service: your_service_name
            ports:
              - name: status-port
                port: 15020
              - name: http2
                port: 80
              - name: https
                port: 443