Installieren des Add-On Open Service Mesh (OSM) mithilfe von Azure CLI
In diesem Artikel erfahren Sie, wie das OSM-Add-On (Open Service Mesh) auf einem Azure Kubernetes Service (AKS)-Cluster installieren. Das OSM-Add-On installiert die OSM-Cloud in Ihrem Cluster. Die OSM-Cloud ist eine Dienstcloud, die Datenverkehrsverwaltung, Richtlinienerzwingung und Telemetriesammlung für Ihre Anwendungen bereitstellt. Weitere Informationen zur OSM-Cloud finden Sie unter Open Service Mesh.
Hinweis
Mit der Einstellung von Open Service Mesh (OSM) durch die Cloud Native Computing Foundation (CNCF) empfehlen wir, Ihre OSM-Konfigurationen zu identifizieren und zu einer entsprechenden Istio-Konfiguration zu migrieren. Informationen zum Migrieren von OSM zu Istio finden Sie im Migrationsleitfaden für Open Service Mesh (OSM)-Konfigurationen zu Istio.
Wichtig
Je nach der Version von Kubernetes, die Ihr Cluster ausführt, installiert das OSM-Add-On eine andere Version von OSM:
Kubernetes-Version | Installierte OSM-Version |
---|---|
1.24.0 oder höher | 1.2.5 |
Zwischen 1.23.5 und 1.24.0 | 1.1.3 |
Niedriger als 1.23.5 | 1.0.0 |
Ältere Versionen von OSM sind möglicherweise nicht für die Installation verfügbar oder werden u. U. nicht aktiv unterstützt, wenn die entsprechende AKS-Version das Ende der Lebensdauer erreicht hat. Informationen zu Supportfenstern für AKS-Versionen finden Sie im Releasekalender für AKS Kubernetes.
Voraussetzungen
- Ein Azure-Abonnement. Falls Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.
- Die Azure CLI muss installiert sein.
Installieren des OSM-Add-Ons in Ihrem Cluster
Wenn Sie noch keine haben, erstellen Sie mithilfe des Befehls „
az group create
“ eine Azure-Ressourcengruppe.az group create --name myResourceGroup --location eastus
Erstellen Sie einen neuen AKS-Cluster mit installiertem OSM-Add-On mithilfe des Befehls „
az aks create
“, und geben Sie für denopen-service-mesh
-Parameter „--enable-addons
“ an.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-addons open-service-mesh \ --generate-ssh-keys
Wichtig
Sie können das OSM-Add-On in einem vorhandenen Cluster nicht aktivieren, wenn sich bereits ein OSM-Mesh in Ihrem Cluster befindet. Deinstallieren Sie alle vorhandenen OSM-Meshes in Ihrem Cluster, bevor Sie das OSM-Add-On aktivieren.
Verwenden Sie bei der Installation in einem vorhandenen Cluster den Befehl „az aks enable-addons
“. Der folgende Code zeigt ein Beispiel:
az aks enable-addons \
--resource-group myResourceGroup \
--name myAKSCluster \
--addons open-service-mesh
Abrufen der Anmeldeinformationen für Ihren Cluster
Laden Sie die Anmeldeinformationen für den AKS-Cluster mit dem Befehl
az aks get-credentials
.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Überprüfen, ob das OSM-Add-On in Ihrem Cluster installiert ist
Überprüfen Sie mithilfe des Befehls „
az aks show
“, ob das OSM-Add-On auf Ihrem Cluster installiert ist, und geben Sie für den'addonProfiles.openServiceMesh.enabled'
-Parameter „--query
“ an. In der Ausgabe unteraddonProfiles
sollte derenabled
-Wert alstrue
füropenServiceMesh
angezeigt werden.az aks show --resource-group myResourceGroup --name myAKSCluster --query 'addonProfiles.openServiceMesh.enabled'
Überprüfen, ob das OSM-Mesh in Ihrem Cluster ausgeführt wird
Überprüfen Sie mithilfe des Befehls „
kubectl get deployment
“ die Version, den Status und die Konfiguration der OSM-Cloud, die in Ihrem Cluster ausgeführt wird, und zeigen Sie die Imageversion der osm-controller-Bereitstellung an.kubectl get deployment -n kube-system osm-controller -o=jsonpath='{$.spec.template.spec.containers[:1].image}'
Die folgende Beispielausgabe zeigt die Version 0.11.1 des OSM-Mesh:
mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
Überprüfen mithilfe der folgenden
kubectl
-Befehle den Status der in Ihrem Cluster ausgeführten OSM-Komponenten, um den Status derapp.kubernetes.io/name=openservicemesh.io
-Bereitstellungen, -Pods und -Dienste anzuzeigen.kubectl get deployments -n kube-system --selector app.kubernetes.io/name=openservicemesh.io kubectl get pods -n kube-system --selector app.kubernetes.io/name=openservicemesh.io kubectl get services -n kube-system --selector app.kubernetes.io/name=openservicemesh.io
Wichtig
Wenn Pods einen anderen Status als
Running
haben, z. B.Pending
, hat Ihr Cluster möglicherweise nicht genügend Ressourcen, um OSM ausführen zu können. Überprüfen Sie die Dimensionierung für Ihren Cluster, z. B. die Anzahl der Knoten und die SKU des virtuellen Computers, bevor Sie OSM in Ihrem Cluster weiter verwenden.Überprüfen Sie die Konfiguration Ihrer OSM-Cloud mithilfe des Befehls „
kubectl get meshconfig
“.kubectl get meshconfig osm-mesh-config -n kube-system -o yaml
Die folgende Beispielausgabe zeigt die Konfiguration eines OSM-Mesh:
apiVersion: config.openservicemesh.io/v1alpha1 kind: MeshConfig metadata: creationTimestamp: "0000-00-00A00:00:00A" generation: 1 name: osm-mesh-config namespace: kube-system resourceVersion: "2494" uid: 6c4d67f3-c241-4aeb-bf4f-b029b08faa31 spec: certificate: serviceCertValidityDuration: 24h featureFlags: enableEgressPolicy: true enableMulticlusterMode: false enableWASMStats: true observability: enableDebugServer: true osmLogLevel: info tracing: address: jaeger.osm-system.svc.cluster.local enable: false endpoint: /api/v2/spans port: 9411 sidecar: configResyncInterval: 0s enablePrivilegedInitContainer: false envoyImage: mcr.microsoft.com/oss/envoyproxy/envoy:v1.18.3 initContainerImage: mcr.microsoft.com/oss/openservicemesh/init:v0.9.1 logLevel: error maxDataPlaneConnections: 0 resources: {} traffic: enableEgress: true enablePermissiveTrafficPolicyMode: true inboundExternalAuthorization: enable: false failureModeAllow: false statPrefix: inboundExtAuthz timeout: 1s useHTTPSIngress: false
Die Beispielausgabe zeigt
enablePermissiveTrafficPolicyMode: true
an, was bedeutet, dass für OSM der Richtlinienmodus für den unzulässigen Datenverkehr aktiviert ist. Wenn dieser Modus für Ihr OSM-Mesh aktiviert ist, trifft Folgendes zu:- Die Erzwingung der SMI-Datenverkehrsrichtlinie wird umgangen.
- OSM entdeckt automatisch die Dienste, die Teil des Dienstnetzes sind.
- OSM erstellt Datenverkehrsrichtlinie-Regeln auf jedem Envoy-Proxy-Sidecar, um mit diesen Diensten kommunizieren zu können.
Löschen des Clusters
Wenn Sie den Cluster nicht mehr benötigen, können Sie ihn mit dem Befehl „
az group delete
“ löschen. Dieser entfernt die Ressourcengruppe, den Cluster und alle zugehörigen Ressourcen.az group delete --name myResourceGroup --yes --no-wait
Hinweis
Alternativ können Sie das OSM-Add-On und die zugehörigen Ressourcen aus Ihrem Cluster deinstallieren. Weitere Informationen finden Sie unter Deinstallieren des Open Service Mesh-Add-Ons aus Ihrem AKS-Cluster.
Nächste Schritte
In diesem Artikel haben Sie erfahren, wie Sie das OSM-Add-On in einem AKS-Cluster installieren und überprüfen, ob es installiert wurde und ausgeführt wird. Mit dem installierten OSM-Add-On auf Ihrem Cluster können Sie eine Beispielanwendung bereitstellen oder das Onboarding einer vorhandenen Anwendung durchführen, um mit Ihrem OSM-Mesh zu arbeiten.
Azure Kubernetes Service