Dela via


Installera tillägget Open Service Mesh (OSM) med Hjälp av Azure CLI

Den här artikeln visar hur du installerar tillägget Open Service Mesh (OSM) i ett AKS-kluster (Azure Kubernetes Service). OSM-tillägget installerar OSM-nätet i klustret. OSM-nätet är ett tjänstnät som tillhandahåller trafikhantering, principframtvingande och telemetriinsamling för dina program. Mer information om OSM-nätet finns i Öppna servicenät.

Kommentar

Med tillbakadragandet av Open Service Mesh (OSM) av Cloud Native Computing Foundation (CNCF) rekommenderar vi att du identifierar dina OSM-konfigurationer och migrerar dem till en motsvarande Istio-konfiguration. Information om hur du migrerar från OSM till Istio finns i Migreringsvägledning för OSM-konfigurationer (Open Service Mesh) till Istio.

Viktigt!

Baserat på vilken version av Kubernetes klustret körs installerar OSM-tillägget en annan version av OSM.

Kubernetes-version OSM-version installerad
1.24.0 eller senare 1.2.5
Mellan 1.23.5 och 1.24.0 1.1.3
Under 1.23.5 1.0.0

Äldre versioner av OSM kanske inte är tillgängliga för installation eller stöds aktivt om motsvarande AKS-version har nått slutet av livslängden. Du kan kontrollera AKS Kubernetes-versionskalendern för information om AKS-versionssupportfönster.

Förutsättningar

Installera OSM-tillägget i klustret

  1. Om du inte redan har en skapar du en Azure-resursgrupp med kommandot az group create .

    az group create --name myResourceGroup --location eastus
    
  2. Skapa ett nytt AKS-kluster med OSM-tillägget installerat med kommandot az aks create och ange open-service-mesh för parametern --enable-addons .

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

Viktigt!

Du kan inte aktivera OSM-tillägget i ett befintligt kluster om ett OSM-nät redan finns i klustret. Avinstallera befintliga OSM-nät i klustret innan du aktiverar OSM-tillägget.

När du installerar på ett befintligt kluster använder du az aks enable-addons kommandot . Följande kod visar ett exempel:

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

Hämta autentiseringsuppgifterna för klustret

  • Hämta autentiseringsuppgifterna för AKS-klustret med hjälp av az aks get-credentials kommandot .

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

Kontrollera att OSM-tillägget är installerat i klustret

  • Kontrollera att OSM-tillägget är installerat i klustret med hjälp av az aks show kommandot med och ange 'addonProfiles.openServiceMesh.enabled' för parametern --query . I utdata under addonProfilesenabled ska värdet visas som true för openServiceMesh.

    az aks show --resource-group myResourceGroup --name myAKSCluster  --query 'addonProfiles.openServiceMesh.enabled'
    

Kontrollera att OSM-nätet körs i klustret

  1. Kontrollera versionen, statusen och konfigurationen av OSM-nätet som körs i klustret med hjälp av kubectl get deployment kommandot och visa avbildningsversionen av osm-controller-distributionen .

    kubectl get deployment -n kube-system osm-controller -o=jsonpath='{$.spec.template.spec.containers[:1].image}'
    

    Följande exempelutdata visar version 0.11.1 av OSM-nätet:

    mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
    
  2. Kontrollera statusen för DE OSM-komponenter som körs i klustret med hjälp av följande kubectl kommandon för att visa status för app.kubernetes.io/name=openservicemesh.io distributioner, poddar och tjänster.

    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
    

    Viktigt!

    Om några poddar har en annan status än Running, till exempel Pending, kanske klustret inte har tillräckligt med resurser för att köra OSM. Granska storleksändringen för klustret, till exempel antalet noder och den virtuella datorns SKU, innan du fortsätter att använda OSM i klustret.

  3. Kontrollera konfigurationen av DITT OSM-nät med hjälp av kubectl get meshconfig kommandot .

    kubectl get meshconfig osm-mesh-config -n kube-system -o yaml
    

    Följande exempelutdata visar konfigurationen av ett OSM-nät:

    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
    

    Exempelutdata visar enablePermissiveTrafficPolicyMode: true, vilket innebär att OSM har aktiverat tillåtande trafikprincipläge. Med det här läget aktiverat i ditt OSM-nät:

    • SMI-trafikprincipen kringgås.
    • OSM identifierar automatiskt tjänster som ingår i tjänstnätet.
    • OSM skapar trafikprincipregler på varje Envoy proxy-sidovagn för att kunna kommunicera med dessa tjänster.

Ta bort klustret

  • När du inte längre behöver klustret kan du ta bort det med kommandot az group delete som tar bort resursgruppen, klustret och alla relaterade resurser.

    az group delete --name myResourceGroup --yes --no-wait
    

Kommentar

Du kan också avinstallera OSM-tillägget och relaterade resurser från klustret. Mer information finns i Avinstallera open service mesh-tillägget från ditt AKS-kluster.

Nästa steg

Den här artikeln visar hur du installerar OSM-tillägget i ett AKS-kluster och kontrollerar att det är installerat och körs. Med OSM-tillägget installerat i klustret kan du distribuera ett exempelprogram eller registrera ett befintligt program för att arbeta med ditt OSM-nät.