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 der Hybrid-Version 1.6 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
- 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
- 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 Knotenpoolapigee-runtime
, den Sie in Schritt 1: Cluster erstellen angelegt haben. Wenn Sie einen anderen Knotenselektor oder keinen Knotenselektor verwenden, ändern Sie das AttributnodeSelector
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 Attributetype
undports
bei.
- Folgen Sie der Anleitung zur Vorbereitung der ASM-Installation:
- Installieren Sie
asmcli
und alle erforderlichen Tools wie git, kubectl und jq. Folgen Sie dazu der Anleitung unter Erforderliche Tools installieren. - 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.
- 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.
- dir_path ist das Ausgabeverzeichnis, in dem
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:
- Listen Sie die GKE-Hub-Mitgliedschaften für Ihr Projekt auf:
gcloud container hub memberships list --project=$PROJECT_ID
- 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
- 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}
- 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 Knotenpoolapigee-runtime
, den Sie in Schritt 1: Cluster erstellen angelegt haben. Wenn Sie einen anderen Knotenselektor oder keinen Knotenselektor verwenden, ändern Sie das AttributnodeSelector
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 Attributetype
undports
bei.
- Folgen Sie der Anleitung zur Vorbereitung der ASM-Installation:
- Installieren Sie
asmcli
und alle erforderlichen Tools wie git, kubectl und jq. Folgen Sie dazu der Anleitung unter Erforderliche Tools installieren. - 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.
- 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.
- dir_path ist das Ausgabeverzeichnis, in dem
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:
- Listen Sie die GKE-Hub-Mitgliedschaften für Ihr Projekt auf:
gcloud container hub memberships list --project=$PROJECT_ID
- 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.
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
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests/profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests/profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests\profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
set PATH=%CD%\bin:%PATH%
- Nachdem Sie ASM Istio installiert haben, prüfen Sie die Version von
istioctl
:istioctl version
- Erstellen Sie einen Namespace namens "istio-system" für die Komponenten der Steuerungsebene:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Anthos Service Mesh installieren
- Erstellen Sie eine Datei mit dem Namen
overlay.yaml
und mit folgendem Inhalt:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installieren Sie Anthos Service Mesh mit
istioctl
mithilfe des Profilsasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlay.yaml
Mit dem Argument
--set revision
wird Istiod ein Überarbeitungslabel im Formatistio.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. - Prüfen Sie, ob die
istiod
-Pods mitkubectl 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
- 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
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
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests/profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests/profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests\profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
set PATH=%CD%\bin:%PATH%
- Nachdem Sie ASM Istio installiert haben, prüfen Sie die Version von
istioctl
:istioctl version
- Erstellen Sie einen Namespace namens "istio-system" für die Komponenten der Steuerungsebene:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Anthos Service Mesh installieren
- Erstellen Sie eine Datei mit dem Namen
overlay.yaml
und mit folgendem Inhalt:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installieren Sie Anthos Service Mesh mit
istioctl
mithilfe des Profilsasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlay.yaml
Mit dem Argument
--set revision
wird Istiod ein Überarbeitungslabel im Formatistio.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. - Prüfen Sie, ob die
istiod
-Pods mitkubectl 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
- 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
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
- Weisen Sie istio-system die Sicherheitskontextbeschränkung
anyuid
(SCC) mit dem folgendenoc
-Befehl zu:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests/profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
export PATH=$PWD/bin:$PATH
- Weisen Sie istio-system die Sicherheitskontextbeschränkung
anyuid
(SCC) mit dem folgendenoc
-Befehl zu:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests/profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
export PATH=$PWD/bin:$PATH
- 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
- 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
- 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 - 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 Verzeichnisbin
. - Die Anthos Service Mesh-Konfigurationsprofile befinden sich im Verzeichnis
manifests\profiles
.
- Beispielanwendungen im Verzeichnis
- Prüfen Sie, ob Sie sich im Stammverzeichnis der Anthos Service Mesh-Installation befinden:
cd istio-1.12.9-asm.3
- Fügen Sie die Tools im Verzeichnis /bin Ihrem PATH hinzu:
set PATH=%CD%\bin:%PATH%
- Nachdem Sie ASM Istio installiert haben, prüfen Sie die Version von
istioctl
:istioctl version
- Erstellen Sie einen Namespace namens "istio-system" für die Komponenten der Steuerungsebene:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Anthos Service Mesh installieren
- Erstellen Sie eine Datei mit dem Namen
overlay.yaml
und mit folgendem Inhalt:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installieren Sie Anthos Service Mesh mit
istioctl
mithilfe des Profilsasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlay.yaml
Mit dem Argument
--set revision
wird Istiod ein Überarbeitungslabel im Formatistio.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. - Prüfen Sie, ob die
istiod
-Pods mitkubectl 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
- 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
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.
Zusammenfassung
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