Schritt 3: ASM installieren

ASM installieren

Apigee hybrid verwendet die mit Anthos Service Mesh (ASM) bereitgestellte Istio-Distribution. Führen Sie die folgenden Schritte aus, um ASM in Ihrem Cluster zu installieren.

Unterstützte ASM-Versionen

Weitere Informationen zu den in Hybrid-Version 1.5 unterstützten ASM-Versionen finden Sie unter Apigee Hybrid: Unterstützte Plattformen.

Einrichtungs- und Konfigurationsschritte für ASM ausführen

Um die ASM-Installation abzuschließen, müssen Sie zuerst die ASM-spezifischen Einrichtungs- und Konfigurationsschritte in der ASM-Dokumentation befolgen. Anschließend müssen Sie hierher zurückkehren, um die Hybrid-Konfiguration abzuschließen, bevor Sie die Konfiguration auf den Cluster anwenden.

Die Anweisungen zur Installation und Konfiguration von ASM sind je nach Plattform unterschiedlich. Die Plattformen sind in folgende Kategorien unterteilt:

  • GKE: Google Kubernetes Engine-Cluster, die in Google Cloud ausgeführt werden.
  • Außerhalb von Google Cloud: Anthos-Cluster, die auf Folgendem ausgeführt werden:
    • Anthos Clusters on VMware (GKE On-Prem)
    • Anthos on Bare Metal
    • Anthos-Cluster in AWS
    • Amazon EKS
  • Andere Kubernetes-Plattformen: Konforme Cluster, die erstellt und ausgeführt werden auf:
    • AKS
    • EKS
    • OpenShift

GKE

Installation von ASM vorbereiten

  1. Prüfen Sie die Umgebungsvariablen, die Sie für die folgenden Schritte benötigen, und legen Sie sie bei Bedarf fest:
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. Erstellen Sie eine Overlay-Datei mit dem Namen overlay.yaml und mit folgendem Inhalt:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
    • apigee-runtime ist der Standardwert für den Knotenselektor. Dies ist der Knotenpool apigee-runtime, den Sie in Schritt 1: Cluster erstellen angelegt haben. Wenn Sie einen anderen Knotenselektor oder keinen Knotenselektor verwenden, ändern Sie das Attribut nodeSelector oder lassen es weg.
    • STATIC_IP ist die IP-Adresse des Load-Balancers. Wenn Sie keine angegeben haben, lassen Sie das Attribut loadBalancerIP weg, aber behalten Sie die Attribute type und ports bei.
  3. Folgen Sie der Anleitung zur Vorbereitung der ASM-Installation:
    1. Voraussetzungen für Anthos.
    2. Erforderliche Berechtigungen für die Installation von Anthos Service Mesh.
    3. Installation planen.
  4. Installieren Sie asmcli und alle erforderlichen Tools wie git, kubectl und jq. Folgen Sie dazu der Anleitung unter Erforderliche Tools installieren.
  5. Fahren Sie mit dem Schritt Cluster-Administratorberechtigungen erteilen fort und beenden Sie den Vorgang. Führen Sie den Schritt "Projekt und Cluster validieren" nicht aus.
  6. Installieren Sie ASM mit optionalen Features. Geben Sie das Legacy-Gateway für eingehenden Traffic mit --option legacy-default-ingressgateway an. Beispiel:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path ist das Ausgabeverzeichnis, in dem asmcli Ihre ASM-Installation einrichten soll, einschließlich aller Unterverzeichnisse.
    • overlay.yaml ist die Overlay-Datei, die Sie in den vorherigen Schritten erstellt haben.

    Verwenden Sie diese Einstellungen, wenn Sie die Anleitung unter Mit optionalen Features installieren befolgen.

Fehlerbehebung

Wenn ein auf gcloud container hub memberships register referierender Fehler auftritt, haben Sie möglicherweise die maximale Zahl an Clustern überschritten, die bei GKE Hub registriert werden darf. Beispiel:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Versuchen Sie, den Fehler mit den folgenden Schritten zu beheben, und führen Sie dann asmcli install noch einmal aus:

  1. Listen Sie die GKE-Hub-Mitgliedschaften für Ihr Projekt auf:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Löschen Sie die GKE-Hub-Mitgliedschaften:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Weitere Informationen zu den Limits für GKE Hub finden Sie unter Kontingente und Limits.

Außerhalb von Google Cloud

Diese Anleitung bezieht sich auf die Installation und Einrichtung von ASM für Apigee Hybrid-Instanzen, wobei Anthos auf folgenden Geräten ausgeführt wird:

  • Anthos Clusters on VMware (GKE On-Prem)
  • Anthos on Bare Metal
  • Anthos-Cluster in AWS
  • Amazon EKS

Installation von ASM vorbereiten

  1. Prüfen Sie die Umgebungsvariablen, die Sie für die folgenden Schritte benötigen, und legen Sie sie bei Bedarf fest:
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. Erstellen Sie eine Overlay-Datei mit dem Namen overlay.yaml und mit folgendem Inhalt:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
    
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
    • apigee-runtime ist der Standardwert für den Knotenselektor. Dies ist der Knotenpool apigee-runtime, den Sie in Schritt 1: Cluster erstellen angelegt haben. Wenn Sie einen anderen Knotenselektor oder keinen Knotenselektor verwenden, ändern Sie das Attribut nodeSelector oder lassen es weg.
    • STATIC_IP ist die IP-Adresse des Load-Balancers. Wenn Sie keine angegeben haben, lassen Sie das Attribut loadBalancerIP weg, aber behalten Sie die Attribute type und ports bei.
  3. Folgen Sie der Anleitung zur Vorbereitung der ASM-Installation:
    1. Voraussetzungen für Anthos.
    2. Erforderliche Berechtigungen für die Installation von Anthos Service Mesh.
    3. Installation planen.
  4. Installieren Sie asmcli und alle erforderlichen Tools wie git, kubectl und jq. Folgen Sie dazu der Anleitung unter Erforderliche Tools installieren.
  5. Fahren Sie mit dem Schritt Cluster-Administratorberechtigungen erteilen fort und beenden Sie den Vorgang. Führen Sie den Schritt "Projekt und Cluster validieren" nicht aus.
  6. Installieren Sie ASM mit optionalen Features. Geben Sie das Legacy-Gateway für eingehenden Traffic mit --option legacy-default-ingressgateway an. Beispiel:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path ist das Ausgabeverzeichnis, in dem asmcli Ihre ASM-Installation einrichten soll, einschließlich aller Unterverzeichnisse.
    • overlay.yaml ist die Overlay-Datei, die Sie in den vorherigen Schritten erstellt haben.

    Verwenden Sie diese Einstellungen, wenn Sie die Anleitung unter Mit optionalen Features installieren befolgen.

Fehlerbehebung

Wenn ein auf gcloud container hub memberships register referierender Fehler auftritt, haben Sie möglicherweise die maximale Zahl an Clustern überschritten, die bei GKE Hub registriert werden darf. Beispiel:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Versuchen Sie, den Fehler mit den folgenden Schritten zu beheben, und führen Sie dann asmcli install noch einmal aus:

  1. Listen Sie die GKE-Hub-Mitgliedschaften für Ihr Projekt auf:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Löschen Sie die GKE-Hub-Mitgliedschaften:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Weitere Informationen zu den Limits für GKE Hub finden Sie unter Kontingente und Limits.

GKE auf anderen Plattformen

Diese Anleitung bezieht sich auf die Installation und Einrichtung von ASM für Apigee Hybrid-Instanzen, wobei Anthos auf folgenden Geräten ausgeführt wird:

  • GKE On-Prem (Anthos)
  • Anthos on Bare Metal
  • GKE on AWS

Lesen Sie die folgenden Schritte sorgfältig durch, bevor Sie beginnen. Sie müssen einige der in der ASM-Dokumentation aufgeführten Schritte ausführen und dann hierher zurückkehren, um die Installation abzuschließen.

  1. Laden Sie istioctl herunter und entpacken Sie es gemäß der Anleitung in der ASM-Dokumentation: Installationsdatei herunterladen.
  2. Abhängig von der zu verwendenden Zertifizierungsstelle installieren Sie ASM anhand der Anleitung in einem der folgenden Abschnitte:
    1. Mesh-Netzwerk-Zertifizierungsstelle verwenden: Anthos Service Mesh mit Mesh-Netzwerk-Zertifizierungsstelle installieren
    2. Eigene Zertifikate mit Istio-Zertifizierungsstelle bereitstellen: Anthos Service Mesh mit Istio-Zertifizierungsstelle installieren
  3. Konfigurieren Sie den Validierungs-Webhook mit der Anleitung unter Validierungs-Webhook konfigurieren.
  4. Überprüfen Sie die Komponenten der Steuerungsebene mit den Anleitungen unter Komponenten der Steuerungsebene prüfen.

    Fahren Sie nicht mit "Sidecar-Proxys einfügen" fort.

Andere Kubernetes-Plattformen

AKS

ASM einrichten und herunterladen

Lesen Sie die folgenden Schritte sorgfältig durch, bevor Sie beginnen. Sie müssen einige der in der ASM-Dokumentation aufgeführten Schritte ausführen und dann hierher zurückkehren, um die Installation abzuschließen.

In dieser Anleitung wird die saubere Installation der Anthos Service Mesh-Version (ASM) 1.12.9-asm.3 auf mit Anthos angehängten Clustern beschrieben. Verwenden Sie diese Anleitung, um Anthos Service Mesh in den folgenden Umgebungen zu installieren:

  • Amazon Elastic Kubernetes Service (Amazon EKS) in Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) in Kubernetes
  • Red Hat OpenShift

Installation von Anthos Service Mesh vorbereiten

    Linux

  1. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
  2. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests/profiles.
  4. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  5. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    export PATH=$PWD/bin:$PATH
  6. macOS

  7. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  8. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests/profiles.
  10. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  11. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  14. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-win.zip

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests\profiles.
  16. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  17. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    set PATH=%CD%\bin:%PATH%
  18. Nachdem Sie ASM Istio installiert haben, prüfen Sie die Version von istioctl:
    istioctl version
  19. Erstellen Sie einen Namespace namens "istio-system" für die Komponenten der Steuerungsebene:
    kubectl create namespace istio-system

Anthos Service Mesh installieren

  1. Installieren Sie Anthos Service Mesh mit istioctl mithilfe des Profils asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3"

    Mit dem Argument --set revision wird Istiod ein Überarbeitungslabel im Format istio.io/rev=asm-1129-3 hinzugefügt. Das Überarbeitungslabel wird vom automatischen Sidecar-Injektor-Webhook verwendet, um eingefügte Sidecars mit einer bestimmten Istiod-Überarbeitung zu verknüpfen. Wenn Sie die automatische Sidecar-Injektion für einen Namespace aktivieren möchten, müssen Sie sie mit einer Überarbeitung kennzeichnen, die mit dem Label auf Istiod übereinstimmt.

  2. Prüfen Sie, ob die istiod-Pods mit kubectl get pods ausgeführt werden:
    kubectl get pods -n istio-system

    Die Ausgabe sollte in etwa so aussehen:

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1129-3-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1129-3-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  3. Prüfen Sie, ob Ihre Installation abgeschlossen ist:
    kubectl get svc -n istio-system

    Die Ausgabe sollte in etwa so aussehen:

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1129-3      ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

Validierten Webhook konfigurieren

Wenn Sie Anthos Service Mesh installieren, legen Sie ein Überarbeitungslabel auf Istiod fest. Sie müssen für den Validierungs-Webhook dieselbe Überarbeitung festlegen.

  1. Erstellen Sie eine Datei mit dem Namen istiod-service.yaml und mit folgendem Inhalt:
    apiVersion: v1
    kind: Service
    metadata:
      name: istiod
      namespace: istio-system
      labels:
        istio.io/rev: asm-1129-3
        app: istiod
        istio: pilot
        release: istio
    spec:
      ports:
        - port: 15010
          name: grpc-xds # plaintext
          protocol: TCP
        - port: 15012
          name: https-dns # mTLS with k8s-signed cert
          protocol: TCP
        - port: 443
          name: https-webhook # validation and injection
          targetPort: 15017
          protocol: TCP
        - port: 15014
          name: http-monitoring # prometheus stats
          protocol: TCP
      selector:
        app: istiod
        istio.io/rev: asm-1129-3
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  2. Verwenden Sie kubectl, um die validierende Webhook-Konfiguration anzuwenden:
    kubectl apply -f istiod-service.yaml
  3. Prüfen Sie, ob die Konfiguration angewendet wurde:
    kubectl get svc -n istio-system

    Die Antwort sollte in etwa so aussehen:

    NAME     TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
    istiod   ClusterIP   172.200.18.133   <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP   22s

EKS

ASM einrichten und herunterladen

Lesen Sie die folgenden Schritte sorgfältig durch, bevor Sie beginnen. Sie müssen einige der in der ASM-Dokumentation aufgeführten Schritte ausführen und dann hierher zurückkehren, um die Installation abzuschließen.

In dieser Anleitung wird die saubere Installation der Anthos Service Mesh-Version (ASM) 1.12.9-asm.3 auf mit Anthos angehängten Clustern beschrieben. Verwenden Sie diese Anleitung, um Anthos Service Mesh in den folgenden Umgebungen zu installieren:

  • Amazon Elastic Kubernetes Service (Amazon EKS) in Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) in Kubernetes
  • Red Hat OpenShift

Installation von Anthos Service Mesh vorbereiten

    Linux

  1. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
  2. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests/profiles.
  4. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  5. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    export PATH=$PWD/bin:$PATH
  6. macOS

  7. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  8. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests/profiles.
  10. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  11. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  14. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-win.zip

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests\profiles.
  16. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  17. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    set PATH=%CD%\bin:%PATH%
  18. Nachdem Sie ASM Istio installiert haben, prüfen Sie die Version von istioctl:
    istioctl version
  19. Erstellen Sie einen Namespace namens "istio-system" für die Komponenten der Steuerungsebene:
    kubectl create namespace istio-system

Anthos Service Mesh installieren

  1. Installieren Sie Anthos Service Mesh mit istioctl mithilfe des Profils asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3"

    Mit dem Argument --set revision wird Istiod ein Überarbeitungslabel im Format istio.io/rev=asm-1129-3 hinzugefügt. Das Überarbeitungslabel wird vom automatischen Sidecar-Injektor-Webhook verwendet, um eingefügte Sidecars mit einer bestimmten Istiod-Überarbeitung zu verknüpfen. Wenn Sie die automatische Sidecar-Injektion für einen Namespace aktivieren möchten, müssen Sie sie mit einer Überarbeitung kennzeichnen, die mit dem Label auf Istiod übereinstimmt.

  2. Prüfen Sie, ob die istiod-Pods mit kubectl get pods ausgeführt werden:
    kubectl get pods -n istio-system

    Die Ausgabe sollte in etwa so aussehen:

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1129-3-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1129-3-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  3. Prüfen Sie, ob Ihre Installation abgeschlossen ist:
    kubectl get svc -n istio-system

    Die Ausgabe sollte in etwa so aussehen:

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1129-3      ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

Validierten Webhook konfigurieren

Wenn Sie Anthos Service Mesh installieren, legen Sie ein Überarbeitungslabel auf Istiod fest. Sie müssen für den Validierungs-Webhook dieselbe Überarbeitung festlegen.

  1. Erstellen Sie eine Datei mit dem Namen istiod-service.yaml und mit folgendem Inhalt:
    apiVersion: v1
    kind: Service
    metadata:
      name: istiod
      namespace: istio-system
      labels:
        istio.io/rev: asm-1129-3
        app: istiod
        istio: pilot
        release: istio
    spec:
      ports:
        - port: 15010
          name: grpc-xds # plaintext
          protocol: TCP
        - port: 15012
          name: https-dns # mTLS with k8s-signed cert
          protocol: TCP
        - port: 443
          name: https-webhook # validation and injection
          targetPort: 15017
          protocol: TCP
        - port: 15014
          name: http-monitoring # prometheus stats
          protocol: TCP
      selector:
        app: istiod
        istio.io/rev: asm-1129-3
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  2. Verwenden Sie kubectl, um die validierende Webhook-Konfiguration anzuwenden:
    kubectl apply -f istiod-service.yaml
  3. Prüfen Sie, ob die Konfiguration angewendet wurde:
    kubectl get svc -n istio-system

    Die Antwort sollte in etwa so aussehen:

    NAME     TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
    istiod   ClusterIP   172.200.18.133   <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP   22s

OpenShift

ASM einrichten und herunterladen

Lesen Sie die folgenden Schritte sorgfältig durch, bevor Sie beginnen. Sie müssen einige der in der ASM-Dokumentation aufgeführten Schritte ausführen und dann hierher zurückkehren, um die Installation abzuschließen.

In dieser Anleitung wird die saubere Installation der Anthos Service Mesh-Version (ASM) 1.12.9-asm.3 auf mit Anthos angehängten Clustern beschrieben. Verwenden Sie diese Anleitung, um Anthos Service Mesh in den folgenden Umgebungen zu installieren:

  • Amazon Elastic Kubernetes Service (Amazon EKS) in Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) in Kubernetes
  • Red Hat OpenShift

Installation von Anthos Service Mesh vorbereiten

    Linux

  1. Weisen Sie istio-system die Sicherheitskontextbeschränkung anyuid (SCC) mit dem folgenden oc-Befehl zu:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  2. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
  3. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  4. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests/profiles.
  5. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  6. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    export PATH=$PWD/bin:$PATH
  7. macOS

  8. Weisen Sie istio-system die Sicherheitskontextbeschränkung anyuid (SCC) mit dem folgenden oc-Befehl zu:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  9. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  10. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  11. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests/profiles.
  12. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  13. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    export PATH=$PWD/bin:$PATH
  14. Windows

  15. Weisen Sie istio-system die Sicherheitskontextbeschränkung anyuid (SCC) mit dem folgenden OpenShift-Befehlszeilenbefehl (oc) zu:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  16. Laden Sie die Anthos Service Mesh-Installationsdatei in Ihr aktuelles Arbeitsverzeichnis herunter:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  17. Laden Sie die Signaturdatei herunter und bestätigen Sie die Signatur mit openssl:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  18. Entpacken Sie die Inhalte der Datei in einem Verzeichnis Ihres Dateisystems. So extrahieren Sie beispielsweise den Inhalt in das aktuelle Arbeitsverzeichnis:
    tar xzf istio-1.12.9-asm.3-win.zip

    Mit diesem Befehl wird in Ihrem aktuellen Arbeitsverzeichnis istio-1.12.9-asm.3 ein Installationsverzeichnis erstellt, das Folgendes enthält:

    • Beispielanwendungen im Verzeichnis samples.
    • Das istioctl-Befehlszeilentool, mit dem Sie Anthos Service Mesh installieren, befindet sich im Verzeichnis bin.
    • Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis manifests\profiles.
  19. Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
    cd istio-1.12.9-asm.3
  20. Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
    set PATH=%CD%\bin:%PATH%
  21. Nachdem Sie ASM Istio installiert haben, prüfen Sie die Version von istioctl:
    istioctl version
  22. Erstellen Sie einen Namespace namens "istio-system" für die Komponenten der Steuerungsebene:
    kubectl create namespace istio-system

Anthos Service Mesh installieren

  1. Installieren Sie Anthos Service Mesh mit istioctl mithilfe des Profils asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3"

    Mit dem Argument --set revision wird Istiod ein Überarbeitungslabel im Format istio.io/rev=asm-1129-3 hinzugefügt. Das Überarbeitungslabel wird vom automatischen Sidecar-Injektor-Webhook verwendet, um eingefügte Sidecars mit einer bestimmten Istiod-Überarbeitung zu verknüpfen. Wenn Sie die automatische Sidecar-Injektion für einen Namespace aktivieren möchten, müssen Sie sie mit einer Überarbeitung kennzeichnen, die mit dem Label auf Istiod übereinstimmt.

  2. Prüfen Sie, ob die istiod-Pods mit kubectl get pods ausgeführt werden:
    kubectl get pods -n istio-system

    Die Ausgabe sollte in etwa so aussehen:

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1129-3-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1129-3-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  3. Prüfen Sie, ob Ihre Installation abgeschlossen ist:
    kubectl get svc -n istio-system

    Die Ausgabe sollte in etwa so aussehen:

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1129-3      ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

Validierten Webhook konfigurieren

Wenn Sie Anthos Service Mesh installieren, legen Sie ein Überarbeitungslabel auf Istiod fest. Sie müssen für den Validierungs-Webhook dieselbe Überarbeitung festlegen.

  1. Erstellen Sie eine Datei mit dem Namen istiod-service.yaml und mit folgendem Inhalt:
    apiVersion: v1
    kind: Service
    metadata:
      name: istiod
      namespace: istio-system
      labels:
        istio.io/rev: asm-1129-3
        app: istiod
        istio: pilot
        release: istio
    spec:
      ports:
        - port: 15010
          name: grpc-xds # plaintext
          protocol: TCP
        - port: 15012
          name: https-dns # mTLS with k8s-signed cert
          protocol: TCP
        - port: 443
          name: https-webhook # validation and injection
          targetPort: 15017
          protocol: TCP
        - port: 15014
          name: http-monitoring # prometheus stats
          protocol: TCP
      selector:
        app: istiod
        istio.io/rev: asm-1129-3
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  2. Verwenden Sie kubectl, um die validierende Webhook-Konfiguration anzuwenden:
    kubectl apply -f istiod-service.yaml
  3. Prüfen Sie, ob die Konfiguration angewendet wurde:
    kubectl get svc -n istio-system

    Die Antwort sollte in etwa so aussehen:

    NAME     TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
    istiod   ClusterIP   172.200.18.133   <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP   22s

ASM-Installation anpassen

Die soeben durchgeführte ASM-Installation ist eine minimale Installation, die zum Testen und Verwenden von Apigee Hybrid für einfache Anwendungsfälle erforderlich ist. Informationen zur Bearbeitung komplexerer Anwendungsfälle, z. B. zum Hinzufügen, Entfernen oder Ändern von Portnummern für Load-Balancer, finden Sie unter Optionale Features aktivieren.

Fazit

Sie haben nun cert-manager und ASM installiert und können jetzt das Apigee Hybrid-Befehlszeilentool auf Ihrem lokalen Computer installieren.

1 2 3 (WEITER) Schritt 4: Apigeectl installieren 5 6 7 8 9