Installer le module complémentaire OSM (Open Service Mesh) à l’aide d’Azure CLI

Cet article vous montre comment installer le module complémentaire OSM (Open Service Mesh) sur un cluster AKS (Azure Kubernetes Service). Le module complémentaire OSM installe le maillage OSM sur votre cluster. Le maillage OSM est un maillage de service qui fournit la gestion du trafic, l’application des stratégies et la collecte de données de télémétrie pour vos applications. Pour plus d’informations sur le maillage OSM, consultez Open Service Mesh.

Remarque

Avec la mise hors service d’Open Service Mesh (OSM) par la CNCF (Cloud Native Computing Foundation), nous vous recommandons d’identifier vos configurations OSM et de les migrer vers une configuration Istio équivalente. Pour plus d'informations sur la migration d'OSM vers Istio, consultez les conseils de migration des configurations Open Service Mesh (OSM) vers Istio.

Important

En fonction de la version de Kubernetes exécutée par votre cluster, le module complémentaire OSM installe une autre version d’OSM.

Version de Kubernetes Version d’OSM installée
1.24.0 ou version ultérieure 1.2.5
Entre 1.23.5 et 1.24.0 1.1.3
Antérieure à la version 1.23.5 1.0.0

Les versions antérieures d’OSM peuvent ne pas être disponibles pour l’installation ou être activement prises en charge, si la version AKS correspondante a atteint sa fin de vie. Vous pouvez consulter le calendrier de publication d’AKS Kubernetes pour plus d’informations sur les fenêtres de prise en charge des versions d’AKS.

Prérequis

Installer le module complémentaire OSM sur votre cluster

  1. Si vous n’en avez pas encore, créez un groupe de ressources Azure à l’aide de la commande az group create.

    az group create --name myResourceGroup --location eastus
    
  2. Créez un cluster AKS avec le module complémentaire OSM installé à l’aide de la commande az aks create et spécifiez open-service-mesh pour le paramètre --enable-addons.

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

Important

Vous ne pouvez pas activer le module complémentaire OSM sur un cluster existant si un maillage OSM est déjà présent sur votre cluster. Désinstallez tous les maillages OSM existants sur votre cluster avant d’activer le module complémentaire OSM.

Lors de l’installation sur un cluster existant, utilisez la commande az aks enable-addons. Le code suivant montre un exemple :

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

Obtenir les informations d’identification de votre cluster

  • Obtenez les informations d’identification de votre cluster AKS à l’aide de la commande az aks get-credentials.

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

Vérifier que le module complémentaire OSM est installé sur votre cluster

  • Vérifiez que le module complémentaire OSM est installé sur votre cluster à l’aide de la commande az aks show avec et spécifiez 'addonProfiles.openServiceMesh.enabled' pour le paramètre --query. Dans la sortie, sous addonProfiles, la valeur enabled doit s’afficher comme true pour openServiceMesh.

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

Vérifier que le maillage OSM s’exécute sur votre cluster

  1. Vérifiez la version, l’état et la configuration du maillage OSM fonctionnant sur votre cluster à l’aide de la commande kubectl get deployment et affichez la version de l’image du déploiement osm-controller.

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

    L’exemple de sortie suivant montre la version 0.11.1 du maillage OSM :

    mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
    
  2. Vérifiez l’état des composants OSM s’exécutant sur votre cluster à l’aide des commandeskubectl afin d’afficher l’état des déploiements, des pods et des services app.kubernetes.io/name=openservicemesh.io.

    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
    

    Important

    Si des pods ont un autre état que Running, par exemple Pending, cela signifie peut-être que votre cluster n’a pas suffisamment de ressources pour exécuter OSM. Passez en revue le dimensionnement de votre cluster, par exemple le nombre de nœuds et la référence SKU de machine virtuelle, avant de continuer à utiliser OSM sur votre cluster.

  3. Vérifiez la configuration de votre maillage OSM à l’aide de la commande kubectl get meshconfig.

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

    L’exemple de sortie suivant montre la configuration d’un maillage 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
    

    L’exemple de sortie montre enablePermissiveTrafficPolicyMode: true, ce qui signifie qu’OSM a un mode de stratégie de trafic permissif activé. Quand ce mode est activé dans votre maillage OSM :

    • L’application de la stratégie de trafic SMI est contournée.
    • OSM découvre automatiquement les services qui font partie du maillage de services.
    • OSM crée des règles de stratégie de trafic sur chaque proxy side-car Envoy pour pouvoir communiquer avec ces services.

Supprimer votre cluster

  • Lorsque vous n’avez plus besoin du cluster, vous pouvez le supprimer à l’aide de la commande az group delete, qui supprime le groupe de ressources, le cluster et toutes les ressources associées.

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

Notes

Vous pouvez également désinstaller le module complémentaire OSM et les ressources associées de votre cluster. Pour plus d’informations, consultez Désinstaller le module complémentaire Open Service Mesh de votre cluster AKS.

Étapes suivantes

Cet article vous a montré comment installer le module complémentaire OSM sur un cluster AKS, puis comment vérifier qu’il est installé et en cours d’exécution. Avec le module complémentaire OSM installé sur votre cluster, vous pouvez déployer un exemple d’application ou intégrer une application existante pour utiliser votre maillage OSM.