Delen via


De invoegtoepassing Open Service Mesh (OSM) installeren met behulp van Azure CLI

In dit artikel leest u hoe u de invoegtoepassing Open Service Mesh (OSM) installeert op een AKS-cluster (Azure Kubernetes Service). De OSM-invoegtoepassing installeert de OSM-mesh op uw cluster. OsM mesh is een service-mesh die verkeerbeheer, beleidshandhaving en telemetrieverzameling voor uw toepassingen biedt. Zie Open Service Mesh voor meer informatie over osm mesh.

Notitie

Met de buitengebruikstelling van Open Service Mesh (OSM) door de Cloud Native Computing Foundation (CNCF) raden we u aan om uw OSM-configuraties te identificeren en te migreren naar een equivalente Istio-configuratie. Zie Migratierichtlijnen voor Open Service Mesh-configuraties (OSM) naar Istio voor meer informatie over het migreren van OSM naar Istio.

Belangrijk

Op basis van de versie van Kubernetes wordt uw cluster uitgevoerd, installeert de OSM-invoegtoepassing een andere versie van OSM.

Kubernetes-versie OSM-versie geïnstalleerd
1.24.0 of hoger 1.2.5
Tussen 1.23.5 en 1.24.0 1.1.3
Onder 1.23.5 1.0.0

Oudere versies van OSM zijn mogelijk niet beschikbaar voor installatie of worden actief ondersteund als de bijbehorende AKS-versie het einde van de levensduur heeft bereikt. U kunt de AKS Kubernetes-releasekalender controleren op informatie over ondersteuningsvensters voor AKS-versies.

Vereisten

De OSM-invoegtoepassing op uw cluster installeren

  1. Als u er nog geen hebt, maakt u een Azure-resourcegroep met behulp van de az group create opdracht.

    az group create --name myResourceGroup --location eastus
    
  2. Maak een nieuw AKS-cluster waarop de OSM-invoegtoepassing is geïnstalleerd met behulp van de az aks create opdracht en geef deze open-service-mesh op voor de --enable-addons parameter.

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

Belangrijk

U kunt de OSM-invoegtoepassing niet inschakelen op een bestaand cluster als er al een OSM-mesh in uw cluster aanwezig is. Verwijder eventuele bestaande OSM-meshes in uw cluster voordat u de OSM-invoegtoepassing inschakelt.

Gebruik de az aks enable-addons opdracht wanneer u op een bestaande cluster installeert. In de volgende code ziet u een voorbeeld:

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

De referenties voor uw cluster ophalen

  • Haal de referenties voor uw AKS-cluster op met behulp van de az aks get-credentials opdracht.

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

Controleer of de OSM-invoegtoepassing is geïnstalleerd op uw cluster

  • Controleer of de OSM-invoegtoepassing is geïnstalleerd op uw cluster met behulp van de az aks show opdracht met en geef 'addonProfiles.openServiceMesh.enabled' deze op voor de --query parameter. In de uitvoer, onder addonProfiles, moet de enabled waarde worden weergegeven als true voor openServiceMesh.

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

Controleren of osm mesh wordt uitgevoerd op uw cluster

  1. Controleer de versie, status en configuratie van de OSM mesh die op uw cluster wordt uitgevoerd met behulp van de kubectl get deployment opdracht en geef de installatiekopieënversie van de osm-controllerimplementatie weer.

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

    In de volgende voorbeelduitvoer ziet u versie 0.11.1 van de OSM mesh:

    mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
    
  2. Controleer de status van de OSM-onderdelen die op uw cluster worden uitgevoerd met behulp van de volgende kubectl opdrachten om de status van de app.kubernetes.io/name=openservicemesh.io implementaties, pods en services weer te geven.

    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
    

    Belangrijk

    Als pods een andere status hebben dan Running, zoals Pending, heeft uw cluster mogelijk niet voldoende resources om OSM uit te voeren. Controleer de grootte van uw cluster, zoals het aantal knooppunten en de SKU van de virtuele machine, voordat u OSM in uw cluster gaat gebruiken.

  3. Controleer de configuratie van uw OSM mesh met behulp van de kubectl get meshconfig opdracht.

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

    In de volgende voorbeelduitvoer ziet u de configuratie van een 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
    

    De voorbeelduitvoer toont enablePermissiveTrafficPolicyMode: true, wat betekent dat OSM de permissieve verkeersbeleidsmodus heeft ingeschakeld. Als deze modus is ingeschakeld in uw OSM mesh:

    • Het afdwingen van SMI-verkeersbeleid wordt overgeslagen.
    • OSM detecteert automatisch services die deel uitmaken van de service-mesh.
    • OSM maakt regels voor verkeersbeleid voor elke Envoy-proxy-sidecar om met deze services te kunnen communiceren.

Uw cluster verwijderen

  • Wanneer u het cluster niet meer nodig hebt, kunt u het verwijderen met behulp van de az group delete opdracht, waarmee de resourcegroep, het cluster en alle gerelateerde resources worden verwijderd.

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

Notitie

U kunt ook de OSM-invoegtoepassing en de gerelateerde resources uit uw cluster verwijderen. Zie De Open Service Mesh-invoegtoepassing verwijderen uit uw AKS-cluster voor meer informatie.

Volgende stappen

In dit artikel hebt u gezien hoe u de OSM-invoegtoepassing op een AKS-cluster installeert en controleert of deze is geïnstalleerd en wordt uitgevoerd. Als de OSM-invoegtoepassing op uw cluster is geïnstalleerd, kunt u een voorbeeldtoepassing implementeren of een bestaande toepassing onboarden om met uw OSM mesh te werken.