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

  1. Wenn Sie noch keine haben, erstellen Sie mithilfe des Befehls „az group create“ eine Azure-Ressourcengruppe.

    az group create --name myResourceGroup --location eastus
    
  2. Erstellen Sie einen neuen AKS-Cluster mit installiertem OSM-Add-On mithilfe des Befehls „az aks create“, und geben Sie für den open-service-mesh-Parameter „--enable-addons“ an.

    az aks create \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --enable-addons open-service-mesh
    

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 unter addonProfiles sollte der enabled-Wert als true für openServiceMesh 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

  1. Ü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
    
  2. Überprüfen mithilfe der folgenden kubectl-Befehle den Status der in Ihrem Cluster ausgeführten OSM-Komponenten, um den Status der app.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.

  3. Ü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.