Udostępnij za pośrednictwem


Instalowanie dodatku Open Service Mesh (OSM) przy użyciu interfejsu wiersza polecenia platformy Azure

W tym artykule pokazano, jak zainstalować dodatek Open Service Mesh (OSM) w klastrze usługi Azure Kubernetes Service (AKS). Dodatek OSM instaluje siatkę OSM w klastrze. Siatka OSM to siatka usługi, która zapewnia zarządzanie ruchem, wymuszanie zasad i zbieranie danych telemetrycznych dla aplikacji. Aby uzyskać więcej informacji na temat siatki OSM, zobacz Open Service Mesh.

Uwaga

Po wycofaniu usługi Open Service Mesh (OSM) przez Cloud Native Computing Foundation (CNCF) zalecamy zidentyfikowanie konfiguracji OSM i migrację ich do równoważnej konfiguracji istio. Aby uzyskać informacje na temat migracji z osmu do istio, zobacz Wskazówki dotyczące migracji konfiguracji open Service Mesh (OSM) do istio.

Ważne

W oparciu o wersję platformy Kubernetes, która jest uruchomiona, dodatek OSM instaluje inną wersję osmu.

Wersja platformy Kubernetes Zainstalowano wersję OSM
1.24.0 lub nowsza 1.2.5
Od 1.23.5 do 1.24.0 1.1.3
Poniżej 1.23.5 1.0.0

Starsze wersje OSM mogą nie być dostępne do zainstalowania lub być aktywnie obsługiwane, jeśli odpowiednia wersja usługi AKS osiągnęła koniec życia. Możesz sprawdzić kalendarz wydania usługi AKS Kubernetes, aby uzyskać informacje na temat systemu Windows obsługi wersji usługi AKS.

Wymagania wstępne

Instalowanie dodatku OSM w klastrze

  1. Jeśli jeszcze go nie masz, utwórz grupę zasobów platformy Azure przy użyciu az group create polecenia .

    az group create --name myResourceGroup --location eastus
    
  2. Utwórz nowy klaster usługi AKS z zainstalowanym dodatkiem az aks create OSM przy użyciu polecenia i określ open-service-mesh parametr --enable-addons .

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

Ważne

Nie można włączyć dodatku OSM w istniejącym klastrze, jeśli w tym klastrze znajduje się już siatka OSM. Przed włączeniem dodatku OSM należy odinstalować wszystkie istniejące siatki OSM w klastrze.

Podczas instalowania w istniejących klastrach użyj az aks enable-addons polecenia . Poniżej znajduje się kod przykładowy:

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

Pobieranie poświadczeń dla klastra

  • Pobierz poświadczenia dla klastra usługi AKS przy użyciu az aks get-credentials polecenia .

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

Sprawdź, czy dodatek OSM jest zainstalowany w klastrze

  • Sprawdź, czy dodatek OSM jest zainstalowany w klastrze przy użyciu az aks show polecenia z poleceniem i określ 'addonProfiles.openServiceMesh.enabled' parametr --query . W danych wyjściowych w obszarze addonProfileswartość powinna być wyświetlana enabled jako true dla openServiceMesh.

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

Sprawdź, czy siatka OSM jest uruchomiona w klastrze

  1. Sprawdź wersję, stan i konfigurację siatki OSM uruchomionej w klastrze przy użyciu kubectl get deployment polecenia i wyświetl wersję obrazu wdrożenia osm-controller .

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

    W poniższych przykładowych danych wyjściowych przedstawiono wersję 0.11.1 siatki OSM:

    mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
    
  2. Sprawdź stan składników OSM uruchomionych w klastrze przy użyciu następujących kubectl poleceń, aby wyświetlić stan app.kubernetes.io/name=openservicemesh.io wdrożeń, zasobników i usług.

    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
    

    Ważne

    Jeśli jakiekolwiek zasobniki mają stan inny niż Running, taki jak Pending, klaster może nie mieć wystarczającej ilości zasobów do uruchomienia OSM. Przed kontynuowaniem korzystania z osmu w klastrze przejrzyj rozmiar klastra, np. liczbę węzłów i jednostkę SKU maszyny wirtualnej.

  3. Sprawdź konfigurację siatki OSM przy użyciu kubectl get meshconfig polecenia .

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

    W poniższych przykładowych danych wyjściowych przedstawiono konfigurację siatki OSM:

    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
    

    Przykładowe dane wyjściowe pokazują enablePermissiveTrafficPolicyMode: true, co oznacza, że osm ma włączony tryb zasad ruchu permisywnego. Po włączeniu tego trybu w siatce OSM:

    • Wymuszanie zasad ruchu SMI jest pomijane.
    • OSM automatycznie odnajduje usługi będące częścią siatki usług.
    • OSM tworzy reguły zasad ruchu na każdym sidecar serwera proxy usługi Envoy, aby móc komunikować się z tymi usługami.

Usuwanie klastra

  • Gdy klaster nie jest już potrzebny, możesz go usunąć przy użyciu az group delete polecenia , które usuwa grupę zasobów, klaster i wszystkie powiązane zasoby.

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

Uwaga

Alternatywnie możesz odinstalować dodatek OSM i powiązane zasoby z klastra. Aby uzyskać więcej informacji, zobacz Odinstalowywanie dodatku Open Service Mesh z klastra usługi AKS.

Następne kroki

W tym artykule pokazano, jak zainstalować dodatek OSM w klastrze usługi AKS i sprawdzić, czy jest zainstalowany i uruchomiony. Za pomocą dodatku OSM zainstalowanego w klastrze możesz wdrożyć przykładową aplikację lub dołączyć istniejącą aplikację do pracy z siatką OSM.