Wenn Sie Anthos Service Mesh installieren, müssen Sie je nach Umgebung entweder ein Konfigurationsprofil oder eine Overlay-Datei angeben, mit der das Profil für Sie festgelegt wird. Die Konfigurationsprofile sind YAML-Dateien, in denen die IstioOperator
API verwendet wird. Die Profile definieren und konfigurieren die Features, die mit Anthos Service Mesh installiert werden. Die Anthos Service Mesh-Profile sind Overlays des Profils empty
, d. h. keine Einstellungen, oder des Istio-default
-Profils.
Die folgenden Profile werden mit Anthos Service Mesh bereitgestellt:
asm-gcp
: Verwenden Sie dieses Profil, wenn sich alle GKE-Cluster in einem Projekt befinden. Wenn Sie Anthos Service Mesh mit diesem Profil installieren, werden die folgenden Features aktiviert:Mesh-Telemetrie, womit Daten für die Anthos Service Mesh-Dashboards in der Google Cloud Console bereitgestellt werden
Die übrigen unterstützten Standardfeatures, die auf der Seite Unterstützte Features für das Konfigurationsprofil
asm-gcp
aufgeführt sind
asm-gcp-multiproject
: Verwenden Sie dieses Profil, wenn sich Ihr GKE-Cluster in einer freigegebenen Virtual Private Cloud befindet und Sie Cluster aus anderen Projekten zu Anthos Service Mesh hinzufügen möchten. Wenn Sie Anthos Service Mesh mit dem Profilasm-gcp-multiproject
installieren, gilt Folgendes:Die Anthos Service Mesh-Dashboards in der Google Cloud Console sind derzeit nicht verfügbar. Sie können sich aber für jedes Projekt Logs in Cloud Logging und Messwerte in Cloud Monitoring ansehen.
Die unterstütztes Standardfeatures, die auf der Seite Unterstützte Features für das Konfigurationsprofil
asm-gcp-multiproject
aufgeführt sind, sind aktiviert.
asm-multicloud
: Verwenden Sie dieses Profil für Cluster in anderen unterstützten Umgebungen: GKE on VMware, GKE on AWS, Amazon Elastic Kubernetes Service (Amazon EKS) und Microsoft Azure Kubernetes Service (Microsoft AKS). Wenn Sie Anthos Service Mesh mit dem Profilasm-multicloud.yaml
installieren, werden dadurch die unterstützten Standardfeatures auf der Seite Unterstützte Features für das Konfigurationsprofilasm-multicloud
aktiviert.
Die Profile befinden sich im Unterverzeichnis manifests/profiles
des Stammverzeichnisses der Anthos Service Mesh-Installation.
Overlay-Dateien
Eine Overlay-Datei ist eine YAML-Datei, die eine benutzerdefinierte IstioOperator
-Ressource (CR) enthält, mit der Sie die Steuerungsebene konfigurieren. Sie können die Standardkonfiguration überschreiben und unterstützte optionale Funktionen in einer Overlay-Datei aktivieren.
Sie können mehrere Overlays ebenenweise platzieren. Jede Overlay-Datei überschreibt die Konfiguration auf den vorherigen Ebenen.
Wenn Sie Anthos Service Mesh mit dem Befehl istioctl install
installieren oder upgraden, können Sie in der Befehlszeile mit der Befehlszeilenoption -f
eine oder mehrere Overlay-Dateien angeben.
Fügen Sie nicht mehrere CRs in eine YAML-Datei ein. | Separate YAML-Dateien für jede CR erstellen |
---|---|
Sie können die Konfiguration zwar durch Angabe von Konfigurationsparametern in der Befehlszeile ändern und dafür die Option --set
für istioctl install
verwenden. Wir empfehlen jedoch, eine Overlay-Datei zu verwenden, damit Sie die Datei in Ihrem Versionsverwaltungssystem zusammen mit Ihren anderen Ressourcendefinitionsdateien speichern können. Sie müssen diese Dateien für das Upgrade von Anthos Service Mesh beibehalten, damit Ihr Service Mesh nach dem Upgrade dieselbe Konfiguration hat.
Die Overlay-Dateien auf dieser Seite befinden sich im asm
-Paket in GitHub. Diese Dateien enthalten gängige Anpassungen der Profile.
Sie können diese Dateien unverändert verwenden oder weitere Änderungen daran vornehmen. Sie können auch Ihre eigenen Overlay-Dateien erstellen, wie unter Konfiguration anpassen beschrieben.
Wenn Sie Anthos Service Mesh mit dem von Google bereitgestellteninstall_asm
-Skript installieren, können Sie eine oder mehrere Overlay-Dateien mit der Option --option
oder der Option --custom_overlay
angeben. Wenn Sie keine Änderungen an den Dateien vornehmen müssen, können Sie --option
verwenden. Das Skript ruft dann die Datei von GitHub ab. Andernfalls können Sie Änderungen an der Overlay-Datei vornehmen und sie dann mit der Option --custom_overlay
an das Skript install_asm
übergeben. Beispiele für die Verwendung beider Optionen finden Sie unter install_asm
-Beispiele.
So laden Sie das asm
-Paket herunter:
In den folgenden Schritten wird kpt
verwendet, um das asm
-Paket aus dem GitHub-Repository herunterzuladen. Sie können stattdessen auch git clone
verwenden.
Installieren Sie
kpt
, falls noch nicht geschehen:gcloud components install kpt
Laden Sie das Paket herunter, das die Dateien enthält:
kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.7-asm asm
Beispiele
Wenn Sie eine Funktion bei der Installation oder Aktualisierung von Anthos Service Mesh aktivieren möchten, müssen Sie sowohl das Profil als auch die Overlay-Datei angeben, mit der das Profil und die Datei für die Funktion festgelegt werden, die Sie aktivieren möchten. Der genaue Befehl variiert je nach Umgebung und abhängig daon, ob Sie das Skript install_asm
oder istioctl install
verwenden.
Alle folgenden Befehle legen ein Revisionslabel für istiod
fest. Ein Überarbeitungslabel hat das Format istio.io/rev=asm-178-10
. 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-Einfügung für einen Namespace aktivieren möchten, müssen Sie ihn mit einer Überarbeitung versehen, die einer istiod
-Bereitstellung entspricht.
Ausgangsgateway für GKE On-Prem aktivieren
In diesem Beispiel wird davon ausgegangen, dass Sie die Schritte im Leitfaden Anthos Service Mesh lokal installieren bis zu dem Punkt ausgeführt haben, an dem Sie Anthos Service Mesh installieren möchten, und dass sich das asm
-Paket in Ihrem aktuellen Arbeitsverzeichnis befindet. Die Datei egressgateways.yaml
enthält die Konfiguration zum Aktivieren eines Ausgangsgateways.
Installieren Sie Anthos Service Mesh auf GKE on VMware:
istioctl install \ --set profile=asm-multicloud \ -f asm/istio/options/egressgateways.yaml \ --set revision=asm-178-10
Kehren Sie zur Installationsanleitung für GKE on VMware zurück, um den validierenden Webhook zu konfigurieren. Dieser ist für neue Installationen erforderlich.
Ausgangsgateway in GKE in Google Cloud aktivieren
Wir empfehlen, mithilfe des Skripts install_asm
eigenständige Cluster oder mehrere Cluster im selben Projekt einzurichten. Das Skript verwendet das Profil asm-gcp
und legt für istiod
ein Überarbeitungslabel fest. In diesem Beispiel wird davon ausgegangen, dass Sie die Anleitung unter Anthos Service Mesh in GKE installieren zum Herunterladen der Version des Skripts install_asm
im Branch release-1.7-asm
ausgeführt haben, um das Anthos Service Mesh 1.7.8 zu installieren.
So installieren Sie mit dem install_asm
-Skript ein Ausgangsgateway:
./install_asm \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--mode install \
--enable_apis \
--option egressgateways
Mit diesem Befehl wird das Skript für eine neue Installation ausgeführt, das Profil asm-gcp
festgelegt und Ihr Cluster wird mit den für Anthos Service Mesh erforderlichen Optionen konfiguriert. Außerdem wird Mesh CA (die Standard-Zertifizierungsstelle für neue Installationen) aktiviert und dem Skript ermöglicht, die erforderlichen Google APIs zu aktivieren und das egressgateways.yaml
von GitHub abzurufen.
Ausgangsgateway für GKE-Cluster in verschiedenen Projekten aktivieren
Das install_asm
-Skript unterstützt derzeit die Installation von Anthos Service Mesh mit dem Profil asm-gcp-multiproject
nicht. Dieses Profil ist erforderlich, wenn Sie mehrere Cluster in verschiedenen Projekten für Anthos Service Mesh konfigurieren möchten.
Die folgende Befehlszeile setzt voraus, dass Sie alle Schritte unter Installation und Migration mehrerer Projekte bis zu dem Punkt ausgeführt haben, an dem Sie Anthos Service Mesh installieren, und dass sich das asm
-Paket in Ihrem aktuellen Arbeitsverzeichnis befindet.
Installieren Sie Anthos Service Mesh:
istioctl install \ -f asm/istio/istio-operator.yaml \ -f asm/istio/options/multiproject.yaml \ -f asm/istio/options/multicluster.yaml\ -f asm/istio/options/egressgateways.yaml \ --set revision=asm-178-10
Die folgenden Dateien überlagern die Einstellungen in der Datei
istio-operator.yaml
:Mit der Datei
multiproject.yaml
wird das Profilasm-gcp-multiproject
festgelegt. Da das Profil von dieser Datei festgelegt wird, müssen Sie es vor den anderen Overlay-Dateien angeben.Mit der Datei
multicluster.yaml
werden die Einstellungen konfiguriert, die Anthos Service Mesh für eine Konfiguration mit mehreren Clustern benötigt.Mit der Datei
egressgateways.yaml
wird das Ausgangsgateway konfiguriert.
Gehen Sie zurück zum Installationsleitfaden für mehrere Projekte, um den Validierungs-Webhook zu konfigurieren, der für neue Installationen erforderlich ist.
YAML für optionale Features
Die folgenden Abschnitte enthalten die YAML-Datei, um optionale und unterstützte Funktionen zu aktivieren.
mTLS-STRICT
-Modus
Die Konfiguration global.mtls.enabled
wurde entfernt, um Probleme mit Upgrades zu vermeiden und eine flexiblere Installation zu ermöglichen. Konfigurieren Sie zum Aktivieren von STRICT
mTLS stattdessen eine Peer-Authentifizierungsrichtlinie.
Envoy an stdout weiterleiten
Weitere Informationen finden Sie unter Zugriffs-Logging von Envoy aktivieren.
Cloud Trace
Für Installationen in GKE können Sie Cloud Trace aktivieren. Ausführliche Preisinformationen finden Sie auf der Seite "Cloud Trace – Preise".
Die Standardabtastrate beträgt 1 %. Sie können den Standardwert aber durch Angabe eines tracing.sampling
-Werts überschreiben. Der Wert muss zwischen 0,0 und 100,0 mit einer Genauigkeit von 0,01 liegen. Wenn Sie beispielsweise fünf Anfragen pro 10.000 Anfragen verfolgen möchten, verwenden Sie 0,05.
Das folgende Beispiel zeigt eine Abtastrate von 100 % (nur für Demozwecke oder zur Fehlerbehebung).
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
enableTracing: true
defaultConfig:
tracing:
sampling: 100
values:
global:
proxy:
tracer: stackdriver
Weitergabe von Trace-Kontext
Auch wenn die Sidecar-Proxys automatisch Trace-Spans senden können, benötigen sie einige Hinweise, um den gesamten Trace zu verknüpfen. Anwendungen müssen die entsprechenden HTTP-Header weiterleiten, sodass die Spans einem einzigen Trace korrekt zugeordnet werden können, wenn die Proxys die Spaninformationen senden.
Dazu muss eine Anwendung die folgenden Header aus der eingehenden Anfrage erfassen und an alle ausgehenden Anfragen weiterleiten:
- x-request-id
- x-b3-traceid
- x-b3-spanid
- x-b3-parentspanid
- x-b3-sampled
- x-b3-flags
- x-ot-span-context
- x-cloud-trace-context
- traceparent
- grpc-trace-bin
Beispiele für die Weitergabe der Header finden Sie unter Weitergabe von Trace-Kontext.
Trace von einem Client mit benutzerdefinierter ID erstellen
Verwenden Sie zum Erstellen eines Trace von einem Client mit einer benutzerdefinierten ID den Befehl curl
, um eine Anfrage mit einem externen Client zu erstellen und die Anzeige eines Trace zu erzwingen. Beispiel:
curl $URL --header "x-client-trace-id: 105445aa7843bc8bf206b12000100000"
Weitere Informationen zu x-client-trace-id
finden Sie in der Envoy-Dokumentation.
Ausgehender Traffic über Egress-Gateways
Weitere Informationen finden Sie unter Egress-Gateways.
Container-Netzwerkschnittstelle von Istio
Wie Sie die Container-Netzwerkschnittstelle (CNI) von Istio aktivieren, hängt von der Umgebung ab, in der Anthos Service Mesh installiert ist. Außerdem müssen Sie eine Netzwerkrichtlinie aktivieren.
CNI in GKE aktivieren
CNI in GKE on VMware aktivieren
Internen Load-Balancer aktivieren
Bei Installationen in GKE können Sie einen internen Load-Balancer für das Istio-Ingress-Gateway aktivieren.
Externe Zertifikatsverwaltung auf dem Ingress-Gateway
Informationen zum Aktivieren der externen Zertifikatsverwaltung auf dem Ingress-Gateway mit Envoy SDS finden Sie unter Sichere Gateways.