Optionale Features aktivieren

Wenn Sie Anthos Service Mesh installieren, geben Sie das Anthos Service Mesh-Konfigurationsprofil an, das die unterstützten Standardfunktionen aktiviert, die auf der Seite Unterstützte Funktionen aufgeführt sind. Die Anthos Service Mesh-Konfigurationsprofile asm.yaml und asm-onprem.yaml befinden sich im Unterverzeichnis install/kubernetes/operator/profiles innerhalb des Stammverzeichnisses in der Anthos Service Mesh-Installation. Die Konfigurationsprofile definieren und konfigurieren die Features, die mit Anthos Service Mesh installiert werden.

Sie können das ASM-Konfigurationsprofil überschreiben und in der Befehlszeile mithilfe von --set values einzeln unterstützte optionale Features aktivieren. Wenn Sie viele Funktionen aktivieren möchten oder das Feature zahlreiche Einstellungen hat, können Sie alternativ eine IstioControlPlane-Datei für die benutzerdefinierte Ressourcendefinition erstellen. Sie übergeben die Datei mit der Option -f an istioctl. Weitere Informationen finden Sie unter Konfiguration anpassen.

Wenn Sie optionale Funktionen aktivieren, beachten Sie Folgendes:

  • Achten Sie darauf, dass das aktivierte Feature unterstützt wird.

  • Geben Sie das entsprechende Konfigurationsprofil für Ihre Plattform an:

    • Verwenden Sie für Google Kubernetes Engine --set profile=asm.
    • Verwenden Sie --set profile=asm-onprem für GKE on VMware

Befehlszeilenoptionen zum Aktivieren optionaler Funktionen

Die folgende Tabelle enthält die Befehlszeilenoptionen zum Aktivieren von optionalen und unterstützten Features.

Feature Befehlszeilen-Optionen
mTLS-STRICT-Modus --set values.global.mtls.enabled=true
Prometheus --set values.prometheus.enabled=true
Grafana (erfordert Prometheus) --set values.prometheus.enabled=true \
--set values.grafana.enabled=true
Envoy an stdout weiterleiten --set values.global.proxy.accessLogFile="/dev/stdout"
Weitere Informationen finden Sie unter Zugriffs-Logging von Envoy aktivieren.
Stackdriver-Tracing --set values.tracing.enabled=true \
--set values.global.proxy.tracer="stackdriver"
Ausgehender Traffic über Egress-Gateways --set values.gateways.istio-egressgateway.enabled=true
Weitere Informationen finden Sie unter Gateway.

Beispiele

Die Befehle zum Installieren von Anthos Service Mesh in GKE verwenden die folgenden Umgebungsvariablen:

  • Legen Sie Ihre Google Cloud-Projekt-ID fest:

    export PROJECT_ID=YOUR_PROJECT_ID
  • Legen Sie die Projektnummer fest:

    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
  • Legen Sie den Clusternamen fest.

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

  • Legen Sie für CLUSTER_LOCATION entweder Ihre Clusterzone oder Clusterregion fest.

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

  • Legen Sie Arbeitslastpool fest.

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

  • Legen Sie die Mesh-ID fest. Diese ist erforderlich, damit die Messwerte auf den Anthos Service Mesh-Seiten in der Cloud Console angezeigt werden:

    export MESH_ID="proj-${PROJECT_NUMBER}"

Ausgangsgateway aktivieren

So installieren Sie Anthos Service Mesh im mTLS-Authentifizierungsmodus (mutual TLS, gegenseitiges TLS) PERMISSIVE und aktivieren das Ausgangsgateway:

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

mTLS-Modus STRICT aktivieren

So installieren Sie Anthos Service Mesh im mTLS-Modus STRICT:

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

Internen Load-Balancer aktivieren

Bei Installationen auf GKE können Sie einen internen Load-Balancer für das Istio-Ingress-Gateway aktivieren. Interne Load-Balancer werden für GKE on VMware nicht unterstützt. Informationen zum Konfigurieren von GKE on VMware finden Sie unter Load-Balancer für GKE on VMware einrichten.

  1. Kopieren Sie den folgenden Text in eine Datei und speichern Sie ihn als 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. Geben Sie die Datei in der Befehlszeile an:

    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