Open Service Mesh avec Azure Arc

Open Service Mesh (OSM) est un maillage de services natif Cloud léger et extensible qui permet aux utilisateurs de gérer et de sécuriser uniformément les environnements de microservices hautement dynamiques et de bénéficier de fonctionnalités d’observabilité prêtes à l’emploi.

OSM exécute un plan de contrôle basé sur un envoi sur Kubernetes, peut être configuré avec des API SMI et fonctionne en injectant un proxy Envoy en tant que conteneur side-car à côté de chaque instance de votre application. Découvrez-en plus sur les scénarios de maillage de service activés par Open Service Mesh.

Tous les composants d’OSM avec Azure Arc sont déployés sur des zones de disponibilité, ce qui les rend redondants interzones.

Options d’installation et conditions requises

Open Service Mesh avec Azure Arc peut être déployé en utilisant le portail Azure, Azure CLI, un modèle ARM ou une stratégie Azure intégrée.

Prérequis

  • Vérifiez que vous respectez toutes les conditions préalables courantes pour les extensions de cluster répertoriées ici.
  • Utiliser la version de l’extension CLI az k8s-extension>= v1.0.4

Limites de la prise en charge actuelle

  • Une seule instance d’Open Service Mesh peut être déployée sur un cluster Kubernetes avec Azure Arc.
  • La prise en charge est disponible pour les deux versions mineures les plus récentes d’Open Service Mesh avec Arc. La dernière version se trouve ici. Les versions commerciales prises en charge sont ajoutées aux notes. Ignorez les étiquettes associées aux versions intermédiaires.
  • Les distributions Kubernetes prises en charge sont les suivantes :
    • Moteur AKS (Azure Kubernetes Service)
    • Clusters AKS sur Azure Stack HCI
    • AKS activé par Azure Arc
    • Cluster API Azure
    • Google Kubernetes Engine
    • Canonical Kubernetes Distribution
    • Rancher Kubernetes Engine
    • OpenShift Kubernetes Distribution
    • Amazon Elastic Kubernetes Service
    • VMware Tanzu Kubernetes Grid
  • L’intégration d’Azure Monitor à Open Service Mesh avec Azure Arc est disponible en préversion avec une prise en charge limitée.

Installation de base à partir du portail Azure

Pour déployer à partir du portail Azure, une fois que vous avez un cluster connecté à Arc, accédez à la section Open Service Mesh du cluster.

Open Service Mesh located under Settings for Arc enabled Kubernetes cluster

Sélectionnez le bouton Installer l’extension pour déployer la dernière version de l’extension.

Vous pouvez aussi utiliser l’expérience d’interface CLI capturée ici. Pour une intégration à grande échelle, lisez plus de détails dans cet article sur le déploiement qui utilise un modèle ARM et Azure Policy.

Installation de base en utilisant Azure CLI

Les étapes suivantes supposent que vous disposez déjà d’un cluster avec une distribution Kubernetes prise en charge connectée à Azure Arc. Assurez-vous que votre variable d’environnement KUBECONFIG pointe vers le kubeconfig du cluster Kubernetes avec Arc.

Définissez les variables d’environnement :

export CLUSTER_NAME=<arc-cluster-name>
export RESOURCE_GROUP=<resource-group-name>

Si vous utilisez un cluster OpenShift, passez aux étapes d’installation d’OpenShift.

Créez l’extension :

Remarque

Pour épingler une version spécifique d’OSM, ajoutez l’indicateur --version x.y.z à la commande create . Notez que cela définit la valeur de auto-upgrade-minor-version sur false.

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm

La sortie doit ressembler à cet exemple. Le déploiement du graphique OSM Helm réel sur le cluster peut prendre 3-5 minutes. Jusqu’à ce que ce déploiement se produise, installState restera Pending.

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T17:50:11.4116524+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Pending",
  "lastModifiedTime": "2021-04-29T17:50:11.4116525+00:00",
  "lastStatusTime": null,
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Ensuite, validez votre installation.

Installations personnalisées

Les sections suivantes décrivent certaines installations personnalisées d’OSM avec Azure Arc. Pour les installations personnalisées, vous devez définir les valeurs d’OSM dans un fichier JSON et les passer à la commande CLI k8s-extension create.

Installer OSM sur un cluster OpenShift

  1. Copiez et enregistrez le contenu suivant dans un fichier JSON. Si vous avez déjà créé un fichier de paramètres de configuration, ajoutez la ligne suivante au fichier existant pour conserver vos modifications précédentes.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Installez OSM avec des valeurs personnalisées.

  3. Ajoutez la contrainte de contexte de sécurité privilégié à chaque compte de service pour les applications dans le maillage.

    oc adm policy add-scc-to-user privileged -z <service account name> -n <service account namespace>
    

Le déploiement du graphique OSM Helm réel sur le cluster peut prendre 3-5 minutes. Jusqu’à ce que ce déploiement se produise, installState restera Pending.

Pour que le paramètre de conteneur init privilégié ne soit pas rétabli à la valeur par défaut, passez le paramètre de configuration "osm.osm.enablePrivilegedInitContainer" : "true" à toutes les commandes az k8s-extension create ultérieures.

Activer les fonctionnalités de haute disponibilité lors de l’installation

Les composants du plan de contrôle d’OSM sont créés en gardant à l’esprit la haute disponibilité et la tolérance de panne. Cette section décrit comment activer HPA (Horizontal Pod Autoscaling) et PDB (Pod Disruption Budget) lors de l’installation. En savoir plus sur les considérations de conception de la haute disponibilité sur OSM.

HPA (Horizontal Pod Autoscaling)

HPA effectue automatiquement un scale-up ou un scale-down des pods du plan de contrôle sur l’utilisation moyenne du processeur cible (%) et l’utilisation moyenne de la mémoire cible (%) définies par l’utilisateur. Pour activer HPA et définir les valeurs applicables sur les pods du plan de contrôle OSM pendant l’installation, créez un fichier de paramètres JSON ou ajoutez à un fichier existant comme montré ici, en répétant les paires clé/valeur pour chaque pod du plan de contrôle (osmController, injector) sur lequel vous souhaitez activer HPA.

{
  "osm.osm.<control_plane_pod>.autoScale.enable" : "true",
  "osm.osm.<control_plane_pod>.autoScale.minReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.maxReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.cpu.targetAverageUtilization" : "<allowed values 0-100>",
  "osm.osm.<control_plane_pod>.autoScale.memory.targetAverageUtilization" : "<allowed values 0-100>"
}

À présent, installez OSM avec des valeurs personnalisées.

PDB (Pod Disruption Budget)

Afin d’éviter les perturbations pendant les interruptions planifiées, les pods du plan de contrôle osm-controller et osm-injector ont un PDB qui garantit la présence d’au moins 1 pod correspondant à chaque application du plan de contrôle.

Pour activer PDB, créez un fichier de paramètres JSON ou ajoutez-en un qui existe déjà comme suit pour chaque pod de plan de contrôle souhaité (osmController, injector) :

{
  "osm.osm.<control_plane_pod>.enablePodDisruptionBudget" : "true"
}

À présent, installez OSM avec des valeurs personnalisées.

Installer OSM avec cert-manager pour la gestion des certificats

cert-manager est un fournisseur qui peut être utilisé pour émettre des certificats signés à OSM sans avoir besoin de stocker des clés privées dans Kubernetes. Pour en savoir plus, reportez-vous à la documentation et à la démo de cert-manager d’OSM.

Notes

Utilisez avec précaution les commandes fournies dans la documentation GitHub sur OSM. Veillez à utiliser l’espace de noms approprié dans les commandes ou à spécifier l’indicateur --osm-namespace arc-osm-system.

Pour installer OSM avec cert-manager comme fournisseur de certificats, créez un fichier de paramètres JSON ou ajoutez à un fichier existant la valeur certificateProvider.kind définie sur cert-manager, comme montré ici. Pour modifier les valeurs cert-manager par défaut spécifiées dans la documentation d’OSM, incluez et mettez à jour également les lignes certmanager.issuer suivantes.

{
  "osm.osm.certificateProvider.kind" : "cert-manager",
  "osm.osm.certmanager.issuerName" : "<issuer name>",
  "osm.osm.certmanager.issuerKind" : "<issuer kind>",
  "osm.osm.certmanager.issuerGroup" : "<issuer group>"
}

À présent, installez OSM avec des valeurs personnalisées.

Installer OSM avec Contour pour l’entrée

OSM offre plusieurs options pour exposer les services de maillage en externe à l’aide de l’entrée. OSM peut utiliser Contour, qui fonctionne avec le contrôleur d’entrée installé en dehors du maillage et provisionné avec un certificat pour participer au maillage. Pour en savoir plus, reportez-vous à la documentation et à la démo de l’entrée d’OSM.

Notes

Utilisez avec précaution les commandes fournies dans la documentation GitHub sur OSM. Veillez à utiliser l’espace de noms approprié dans les commandes ou à spécifier l’indicateur --osm-namespace arc-osm-system. Pour définir les valeurs requises pour configurer Contour pendant l’installation d’OSM, ajoutez ce qui suit à votre fichier de paramètres JSON :

{
  "osm.osm.osmNamespace" : "arc-osm-system",
  "osm.contour.enabled" : "true",
  "osm.contour.configInline.tls.envoy-client-certificate.name" : "osm-contour-envoy-client-cert", 
  "osm.contour.configInline.tls.envoy-client-certificate.namespace" : "arc-osm-system"
}

Définition des valeurs lors de l’installation d’OSM

Toutes les valeurs qui doivent être définies lors de l’installation d’OSM doivent être enregistrées dans un seul fichier JSON et transmises via la commande install de l’interface Azure CLI.

Une fois que vous avez créé un fichier JSON avec les valeurs applicables, comme décrit dans les sections d’installation personnalisée, définissez le chemin du fichier comme variable d’environnement :

export SETTINGS_FILE=<json-file-path>

Exécutez la commande az k8s-extension create pour créer l’extension OSM, en transmettant le fichier de paramètres à l’aide de l’indicateur --configuration-settings-file :

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm --configuration-settings-file $SETTINGS_FILE

Installer OSM avec Azure Arc à l’aide d’un modèle ARM

Après avoir connecté votre cluster à Azure Arc, créez un fichier JSON au format suivant, en veillant à mettre à jour les valeurs <cluster-name> et <osm-arc-version> :

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "ConnectedClusterName": {
            "defaultValue": "<cluster-name>",
            "type": "String",
            "metadata": {
                "description": "The Connected Cluster name."
            }
        },
        "ExtensionInstanceName": {
            "defaultValue": "osm",
            "type": "String",
            "metadata": {
                "description": "The extension instance name."
            }
        },
        "ExtensionVersion": {
            "defaultValue": "<osm-arc-version>",
            "type": "String",
            "metadata": {
                "description": "The extension type version."
            }
        },
        "ExtensionType": {
            "defaultValue": "Microsoft.openservicemesh",
            "type": "String",
            "metadata": {
                "description": "The extension type."
            }
        },
        "ReleaseTrain": {
            "defaultValue": "Stable",
            "type": "String",
            "metadata": {
                "description": "The release train."
            }
        }
    },
    "functions": [],
    "resources": [
        {
            "type": "Microsoft.KubernetesConfiguration/extensions",
            "apiVersion": "2020-07-01-preview",
            "name": "[parameters('ExtensionInstanceName')]",
            "properties": {
                "extensionType": "[parameters('ExtensionType')]",
                "releaseTrain": "[parameters('ReleaseTrain')]",
                "version": "[parameters('ExtensionVersion')]"
            },
            "scope": "[concat('Microsoft.Kubernetes/connectedClusters/', parameters('ConnectedClusterName'))]"
        }
    ]
}

Définissez les variables d’environnement :

export TEMPLATE_FILE_NAME=<template-file-path>
export DEPLOYMENT_NAME=<desired-deployment-name>

Exécutez cette commande pour installer l’extension OSM :

az deployment group create --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP --template-file $TEMPLATE_FILE_NAME

Vous devriez maintenant être en mesure d’afficher les ressources OSM et d’utiliser l’extension OSM dans votre cluster.

Installer OSM avec Azure Arc en utilisant une stratégie intégrée

Une stratégie intégrée est disponible sur le portail Azure sous la catégorie Kubernetes : clusters Kubernetes avec Azure Arc doivent avoir l’extension Open Service Mesh installée. Cette stratégie peut être attribuée à l’étendue d’un abonnement ou d’un groupe de ressources.

L’action par défaut de cette stratégie est Déployer si n’existe pas. Cependant, vous pouvez choisir d’auditer les clusters pour rechercher les installations d’extension en changeant les paramètres lors de l’affectation. Vous êtes également invité à spécifier la version que vous voulez installer (v1.0.0-1 ou ultérieure) comme paramètre.

Valider l’installation

Exécutez la commande suivante.

az k8s-extension show --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm

Vous devez voir une sortie JSON similaire à celle-ci :

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T19:22:00.7649729+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Installed",
  "lastModifiedTime": "2021-04-29T19:22:00.7649731+00:00",
  "lastStatusTime": "2021-04-29T19:23:27.642+00:00",
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Pour plus de commandes que vous pouvez utiliser pour valider et dépanner le déploiement des composants d’extension Open Service Mesh (OSM) sur votre cluster, consultez notre guide de résolution des problèmes

Configuration du contrôleur OSM

OSM déploie une ressource MeshConfig osm-mesh-config dans le cadre de son plan de contrôle dans arc-osm-system espace de noms. L’objectif de cette ressource MeshConfig est de fournir à l’opérateur/propriétaire du maillage la possibilité de mettre à jour certaines configurations de maillage en fonction de ses besoins. Pour afficher les valeurs par défaut, utilisez la commande suivante.

kubectl describe meshconfig osm-mesh-config -n arc-osm-system

La sortie affiche les valeurs par défaut :

  Certificate:
    Cert Key Bit Size:               2048
    Service Cert Validity Duration:  24h
  Feature Flags:
    Enable Async Proxy Service Mapping:  false
    Enable Egress Policy:                true
    Enable Envoy Active Health Checks:   false
    Enable Ingress Backend Policy:       true
    Enable Multicluster Mode:            false
    Enable Retry Policy:                 false
    Enable Snapshot Cache Mode:          false
    Enable WASM Stats:                   true
  Observability:
    Enable Debug Server:  false
    Osm Log Level:        info
    Tracing:
      Enable:  false
  Sidecar:
    Config Resync Interval:            0s
    Enable Privileged Init Container:  false
    Log Level:                         error
    Resources:
  Traffic:
    Enable Egress:                          false
    Enable Permissive Traffic Policy Mode:  true
    Inbound External Authorization:
      Enable:              false
      Failure Mode Allow:  false
      Stat Prefix:         inboundExtAuthz
      Timeout:             1s
    Inbound Port Exclusion List:
    Outbound IP Range Exclusion List:
    Outbound Port Exclusion List:

Pour plus d’informations, consultez les informations de référence sur l’API de configuration. Notez que spec.traffic.enablePermissiveTrafficPolicyMode a la valeur true. Quand OSM est en mode de stratégie de trafic permissif, l’application de la stratégie de trafic SMI est ignorée. Dans ce mode, OSM découvre automatiquement les services qui font partie du maillage de services et programme des règles de stratégie de trafic sur chaque side-car de proxy Envoy pour pouvoir communiquer avec ces services.

osm-mesh-config peut également être consulté dans le portail Azure en sélectionnant Modifier la configuration dans la section Open Service Mesh du cluster.

Edit configuration button located on top of the Open Service Mesh section

Modification de la configuration du contrôleur OSM

Notes

Les valeurs dans la ressource MeshConfig osm-mesh-config sont conservées entre les mises à niveau.

Les modifications de osm-mesh-config peuvent être effectuées en utilisant la commande kubectl patch. Dans l’exemple suivant, le mode de stratégie de trafic permissif est remplacé par false.

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":false}}}' --type=merge

Si une valeur incorrecte est utilisée, les validations sur le CRD MeshConfig empêchent la modification avec un message d’erreur expliquant pourquoi la valeur est non valide. Par exemple, cette commande montre ce qui se passe si nous changeons enableEgressen une valeur non booléenne :

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":"no"}}}'  --type=merge
# Validations on the CRD will deny this change
The MeshConfig "osm-mesh-config" is invalid: spec.traffic.enableEgress: Invalid value: "string": spec.traffic.enableEgress in body must be of type boolean: "string"

Vous pouvez également modifier osm-mesh-config dans le portail Azure : sélectionnez Modifier la configuration dans la section Open Service Mesh du cluster.

Edit configuration button in the Open Service Mesh section

Utilisation d’OSM avec Azure Arc

Pour commencer à utiliser les fonctionnalités OSM, vous devez d’abord intégrer les espaces de noms de l’application à la maille du service. Téléchargez l’interface CLI OSM à partir de la page versions de GitHub osM. Une fois les espaces de noms ajoutés à la maille, vous pouvez configurer les stratégies SMI pour obtenir la fonction OSM souhaitée.

Intégration des espaces de noms à la maille de service

Ajoutez les espaces de noms à la maille en exécutant la commande suivante :

osm namespace add <namespace_name>

Les espaces de noms peuvent également être intégrés à partir du portail Azure en sélectionnant +Ajouter dans la section Open Service Mesh du cluster.

+Add button located on top of the Open Service Mesh section

Pour plus d’informations sur l’intégration des services, consultez la documentation Open Service Mesh.

Configurer OSM avec les stratégies Service Mesh Interface (SMI)

Vous pouvez commencer par un exemple d’application ou utiliser votre environnement de test pour tester les stratégies SMI.

Remarque

Si vous utilisez des exemples d’applications, vérifiez que leurs versions correspondent à la version de l’extension OSM installée sur votre cluster. Par exemple, si vous utilisez v1.0.0 de l’extension OSM, utilisez le manifeste Bookstore de la branche release-v1.0 du dépôt en amont d’OSM.

Configuration de vos propres instances Jaeger, Prometheus et Grafana

L’extension OSM n’installe pas de modules complémentaires comme Jaeger, Prometheus, Grafana et Flagger. Vous pouvez à la place intégrer OSM à vos propres instances en cours d’exécution de ces outils. Pour intégrer à vos propres instances, consultez la documentation suivante :

Notes

Utilisez avec précaution les commandes fournies dans la documentation GitHub sur OSM. Veillez à utiliser le bon nom d’espace de noms osm-mesh-config quand vous effectuez des changements sur arc-osm-system.

Monitoring d’application à l’aide d’Azure Monitor et d’Application Insights (préversion)

Azure Monitor et Azure Application Insights vous aident à optimiser la disponibilité et les performances de vos applications et services en fournissant une solution complète pour collecter, analyser et utiliser les données de télémétrie de vos environnements cloud et locaux. Open Service Mesh avec Azure Arc a des intégrations étroites dans ces deux services Azure. Cette intégration offre une expérience Azure facilitée pour visualiser et répondre aux indicateurs de performance clés critiques fournis par les métriques OSM.

Important

Les fonctionnalités d’évaluation de Kubernetes avec Azure Arc sont disponibles en libre-service et font l’objet d’un abonnement. Les préversions sont fournies « en l’état » et « en fonction des disponibilités », et sont exclues des contrats de niveau de service et de la garantie limitée. Les préversions de Kubernetes avec Azure Arc sont, dans la mesure du possible, partiellement couvertes par le service clientèle.

Suivez ces étapes pour autoriser Azure Monitor à scraper les points de terminaison Prometheus pour la collecte des métriques d’application.

  1. Suivez les conseils disponibles ici pour que les espaces de noms d’application à monitorer soient intégrés au maillage.

  2. Exposez les points de terminaison Prometheus pour les espaces de noms d’application.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Installez l’extension d’Azure Monitor à l’aide des conseils disponibles ici.

  4. Créez un élément Configmap dans l'espace de noms kube-system qui permet à Azure Monitor de surveiller vos espaces de noms. Par exemple, créez un container-azm-ms-osmconfig.yaml avec les éléments suivants pour monitorer <namespace1> et <namespace2> :

    kind: ConfigMap
    apiVersion: v1
    data:
      schema-version: v1
      config-version: ver1
      osm-metric-collection-configuration: |-
        # OSM metric collection settings
        [osm_metric_collection_configuration]
          [osm_metric_collection_configuration.settings]
              # Namespaces to monitor
              monitor_namespaces = ["<namespace1>", "<namespace2>"]
    metadata:
      name: container-azm-ms-osmconfig
      namespace: kube-system
    
  5. Exécutez la commande kubectl suivante

    kubectl apply -f container-azm-ms-osmconfig.yaml
    

L’affichage des métriques dans Log Analytics peut prendre jusqu’à 15 minutes. Vous pouvez essayer d’interroger la table InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Accédez à votre cluster Kubernetes connecté avec Arc à l’aide de ce lien.
  2. Accédez à Azure Monitor et accédez à l’onglet rapports pour accéder au classeur OSM.
  3. Sélectionnez l’intervalle de temps et l’espace de noms pour étendre vos services.

OSM workbook

Onglet Requêtes

L’onglet Demandes affiche un résumé de toutes les requêtes http envoyées via le service au service dans OSM.

  • Vous pouvez visualiser tous les services en sélectionnant le service dans la grille.
  • Vous pouvez voir le nombre total de requêtes, le taux d’erreur de requête et la latence P90.
  • Vous pouvez descendre dans la hiérarchie de la vue de destination et afficher des tendances pour le code d’erreur/de réussite HTTP, le taux de réussite, l’utilisation des ressources pod et les latences à différents centile.

Onglet Connexions

L’onglet Connexions affiche un résumé de toutes les connexions entre vos services dans Open Service Mesh.

  • Connexions sortantes : nombre total de connexions entre les services source et de destination.
  • Connexions actives sortantes : dernier nombre de connexions actives entre la source et la destination dans l’intervalle de temps sélectionné.
  • Connexions sortantes ayant échoué : nombre total de connexions ayant échoué entre les services source et de destination.

Mettre à jour vers une version spécifique d’OSM

Pendant les mises à niveau, il peut y avoir un temps d’arrêt du plan de contrôle. Le plan de données est affecté seulement lors des mises à jour CRD.

Mises à niveau prises en charge

L’extension OSM peut être mise à niveau manuellement entre les versions mineures et principales. Cependant, les mises à niveau automatiques (si elles sont activées) fonctionnent seulement entre les versions mineures.

Mettre à niveau vers une version OSM spécifique manuellement

La commande suivante met à niveau l’extension OSM-Arc vers une version spécifique :

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --version x.y.z

Activer les mises à niveau automatiques

Si les mises à niveau automatiques ne sont pas activées par défaut, la commande suivante peut être exécutée pour les activer. La valeur actuelle de --auto-upgrade-minor-version peut être vérifiée en exécutant la commande az k8s-extension show comme indiqué dans l’étape Valider l’installation.

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --auto-upgrade-minor-version true

Désinstaller OSM avec Azure Arc

Utilisez la commande suivante :

az k8s-extension delete --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm -y

Vérifiez que l’instance d’extension a été supprimée :

az k8s-extension list --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Cette sortie ne doit pas inclure OSM. Si vous n’avez pas d’autres extensions installées sur votre cluster, c’est simplement un tableau vide.

Quand vous utilisez la commande az k8s-extension pour supprimer l’extension OSM, l’espace de noms arc-osm-system n’est pas supprimé et les ressources réelles au sein de l’espace de noms (comme la configuration du webhook mutant et du pod osm-controller) sont supprimées après environ 10 minutes.

Remarque

Utilisez l’interface de ligne de commande az k8s-extension pour désinstaller les composants gérés par OSM avec Arc. L’utilisation de l’interface de ligne de commande OSM pour la désinstallation n’est pas prise en charge par Arc et peut entraîner un comportement indésirable.

Étapes suivantes