Mettre à niveau un contrôleur de données Azure Arc connecté directement à l’aide de l’interface CLI
Cet article explique comment mettre à niveau un contrôleur de données avec Azure Arc connecté directement à l’aide de l’interface de ligne de commande Azure (az
).
Lors d’une mise à niveau du contrôleur de données, des parties du plan de contrôle des données, comme les définitions de ressources personnalisées (CRD) et les conteneurs peuvent être mises à niveau. Une mise à niveau du contrôleur de données n’entraîne pas de temps d’arrêt pour les services de données (SQL Managed Instance ou serveur PostgreSQL).
Prérequis
Vous aurez besoin d’un contrôleur de données connecté directement avec imageTag v1.0.0_2021-07-30 ou une version ultérieure.
Pour vérifier la version, exécutez :
kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag
Installer des outils
Avant de pouvoir effectuer les tâches de cet article, vous devez disposer des éléments suivants :
Les exemples de cet article utilisent des crochets pointus < ... >
pour identifier les valeurs que vous devez remplacer avant d’exécuter le script. Remplacez les crochets et les valeurs à l’intérieur des crochets.
La version de l’extension arcdata
et la version de l’image sont associées. Vérifiez que vous disposez de la version d’extension correcte arcdata
qui correspond à la version d’image vers laquelle vous souhaitez effectuer une mise à niveau dans le journal des versions.
Afficher les images disponibles et choisir une version
Extrayez la liste des images disponibles pour le contrôleur de données à l’aide de la commande suivante :
az arcdata dc list-upgrades --k8s-namespace <namespace>
La commande ci-dessus renvoie une sortie similaire à l’exemple suivant :
Found 2 valid versions. The current datacontroller version is v1.0.0_2021-07-30.
v1.1.0_2021-11-02
v1.0.0_2021-07-30
Mettre à niveau le contrôleur de données
Cette section montre comment mettre à niveau un contrôleur de données connecté directement.
Remarque
Certains des niveaux et modes des services de données sont généralement disponibles (GA), tandis que d’autres sont en préversion. Si vous installez les services disponibles en GA et en préversion sur le même contrôleur de données, vous ne pouvez pas opérer de mise à niveau sur place. Pour mettre à niveau, supprimez toutes les instances de base de données non GA. Vous trouverez la liste des services disponibles en GA et en préversion dans les notes de publication.
Pour connaître les chemins de mise à niveau pris en charge, consultez Mettre à niveau les services de données avec Azure Arc.
Authentifier
Vous devez vous connecter et vous authentifier auprès d’un cluster Kubernetes et avoir sélectionné un contexte Kubernetes existant avant de commencer la mise à niveau du contrôleur de données Azure Arc.
kubectl config use-context <Kubernetes cluster name>
Mettre à niveau le contrôleur de données
Vous pouvez effectuer d’abord un test. Le test valide l’existence du registre, le schéma de version et le jeton d’autorisation du référentiel privé (le cas échéant). Pour effectuer un test, utilisez le paramètre --dry-run
dans la commande az arcdata dc upgrade
. Par exemple :
az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> --dry-run [--no-wait]
La sortie de la commande précédente est la suivante :
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
****Dry Run****
Arcdata Control Plane would be upgraded to: <version-tag>
Une fois l’extension du contrôleur de données Arc mise à niveau, exécutez la commande az arcdata dc upgrade
, en spécifiant la balise d’image avec --desired-version
.
az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> [--no-wait]
Exemple :
az arcdata dc upgrade --resource-group rg-arcds --name dc01 --desired-version v1.7.0_2022-05-24 [--no-wait]
Surveiller l’état de la mise à niveau
Vous pouvez surveiller la progression de la mise à niveau à l’aide de l’interface CLI.
Interface de ligne de commande
az arcdata dc status show --resource-group <resource group>
La mise à niveau est un processus en deux parties. D’abord, le contrôleur est mis à niveau, puis la pile d’analyse est mise à niveau. Une fois la mise à niveau terminée, la sortie est la suivante :
Ready
Dépannage
Lorsque la version souhaitée est définie sur une version spécifique, le travail de démarrage tente de procéder à la mise à niveau vers cette version jusqu’à ce qu’elle réussisse. Si la mise à niveau réussit, la propriété RunningVersion
de la spécification est mise à jour vers la nouvelle version. Les mises à niveau peuvent échouer dans des scénarios comme une balise d’image incorrecte, l’impossibilité de se connecter au registre ou au référentiel, une quantité de processeur ou de mémoire insuffisante allouée aux conteneurs ou un stockage insuffisant.
Exécutez la commande ci-dessous pour voir si l’un des pods présente un statut
Error
ou présente un nombre élevé de redémarrages :kubectl get pods --namespace <namespace>
Pour examiner les événements pour voir s’il existe une erreur, exécutez
kubectl describe pod <pod name> --namespace <namespace>
Pour obtenir la liste des conteneurs dans les pods, exécutez
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
Pour obtenir les journaux d’un conteneur, exécutez
kubectl logs <pod name> <container name> --namespace <namespace>
Pour afficher les erreurs courantes et la façon de les résoudre, accédez aux Ressources de dépannage.