Utiliser un script Python pour déployer un cluster Big Data SQL Server sur Azure Kubernetes Service (AKS)
S’applique à : SQL Server 2019 (15.x)
Important
Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.
Dans ce tutoriel, vous utilisez un exemple de script de déploiement Python pour déployer des Clusters de Big Data SQL Server 2019 sur AKS (Azure Kubernetes Service).
Conseil
AKS n’est qu’une option pour héberger Kubernetes pour votre cluster Big Data. Pour découvrir les autres options de déploiement et savoir comment les personnaliser, consultez Guide pratique pour déployer Clusters Big Data SQL Server sur Kubernetes.
Le déploiement de cluster Big Data par défaut utilisé ici se compose d’une instance principale SQL, d’une instance de pool de calcul, de deux instances de pool de données et de deux instances de pool de stockage. Les données sont conservées avec des volumes persistants Kubernetes qui utilisent les classes de stockage par défaut d’AKS. La configuration par défaut utilisée dans ce tutoriel est adaptée aux environnements de développement et de test.
Prérequis
- Un abonnement Azure.
- Outils Big Data :
- azdata
- kubectl
- Azure Data Studio
- Extension SQL Server 2019
- Azure CLI
Se connecter à votre compte Azure
Le script utilise Azure CLI pour automatiser la création d’un cluster AKS. Avant d’exécuter le script, vous devez vous connecter à votre compte Azure avec Azure CLI au moins une fois. Exécutez la commande suivante à partir d’une invite de commandes. Pour plus d’informations, consultez Se connecter avec Azure CLI.
az login
Télécharger le script de déploiement
Ce tutoriel automatise la création du cluster Big Data sur AKS à l’aide d’un script Python deploy-sql-big-data-aks.py. Si vous avez déjà installé Python pour azdata, vous devez normalement pouvoir exécuter le script avec succès dans ce tutoriel.
Dans une invite Windows PowerShell ou Linux bash, exécutez la commande suivante pour télécharger le script de déploiement à partir de GitHub.
curl -o deploy-sql-big-data-aks.py "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/deployment/aks/deploy-sql-big-data-aks.py"
Exécuter le script de déploiement
Procédez comme suit pour exécuter le script de déploiement dans une invite bash Windows PowerShell ou Linux. Ce script crée un service AKS dans Azure, puis déploie un cluster Big Data SQL Server 2019 sur AKS. Vous pouvez également modifier le script avec d’autres variables d’environnement pour créer un déploiement personnalisé.
Exécutez le script avec la commande suivante :
python deploy-sql-big-data-aks.py
Notes
Si vous avez à la fois python3 et python2 sur votre machine cliente et dans le chemin, vous devez exécuter la commande avec python3 :
python3 deploy-sql-big-data-aks.py
.Quand vous y êtes invité, entrez les informations suivantes :
Valeur Description ID d’abonnement Azure ID d’abonnement Azure à utiliser pour AKS. Vous pouvez lister tous vos abonnements et leur ID en exécutant az account list
à partir d’une autre ligne de commande.Groupe de ressources Azure Nom du groupe de ressources Azure à créer pour le cluster AKS. Région Azure Région Azure pour le nouveau cluster AKS (westus par défaut). Taille de machine Taille de machine à utiliser pour les nœuds du cluster AKS (Standard_D16s_v3 par défaut). Nœuds worker Nombre de nœuds worker du cluster AKS (1 par défaut). Nom du cluster Nom du cluster AKS et du cluster Big Data. Le nom de votre cluster Big Data ne doit contenir que des caractères alphanumériques minuscules et aucun espace. (sqlbigdata par défaut). Mot de passe Mot de passe pour le contrôleur, la passerelle HDFS/Spark et l’instance principale (MySQLBigData2019 par défaut). Nom d’utilisateur Nom d’utilisateur de l’utilisateur du contrôleur (admin par défaut). Important
La taille de machine Standard_D16s_v3 par défaut peut ne pas être disponible dans toutes les régions Azure. Si vous sélectionnez une autre taille de machine, veillez à ce que le nombre total de disques pouvant être attachés sur les nœuds du cluster soit supérieur ou égal à 24. Chaque revendication de volume persistant dans le cluster nécessite un disque attaché. Actuellement, le cluster Big Data nécessite 24 revendications de volumes persistants.
Exécutez la commande suivante pour identifier les types de machines virtuelles disponibles.
az vm list-sizes --query "sort_by(@,&name)[?contains(name,'Standard_D16s')]" -l westus2 -o table
Notes
Le compte SQL Server
sa
est désactivé durant le déploiement de clusters Big Data. Une nouvelle connexion sysadmin est provisionnée dans l’instance maître de SQL Server avec le même nom que celui spécifié pour l’entrée du Nom d’utilisateur et le mot de passe correspondant à l’entrée du Mot de passe. Les mêmes valeurs correspondant à Nom d’utilisateur et Mot de passe sont utilisées pour provisionner un utilisateur administrateur de contrôleur. Le seul utilisateur pris en charge pour la passerelle (Knox) sur des clusters déployés avant SQL Server 2019 CU5 est racine et le mot de passe est le même que ci-dessus.À partir de SQL Server 2019 (15.x) CU 5, lorsque vous déployez un nouveau cluster avec l’authentification de base, tous les points de terminaison, dont la passerelle, utilisent
AZDATA_USERNAME
etAZDATA_PASSWORD
. Les points de terminaison sur les clusters mis à niveau vers la CU 5 continuent à utiliserroot
comme nom d’utilisateur pour se connecter au point de terminaison de la passerelle. Cette modification ne s’applique pas aux déploiements utilisant l’authentification Active Directory. Voir Informations d’identification pour l’accès aux services via le point de terminaison de passerelle dans les notes de publication.Le script commence par créer un cluster AKS avec les paramètres que vous avez spécifiés. Cette étape prend plusieurs minutes.
Superviser l’état
Une fois que le script a créé le cluster AKS, il définit les variables d’environnement nécessaires avec les paramètres que vous avez spécifiés précédemment. Il appelle ensuite azdata pour déployer le cluster Big Data sur AKS.
La fenêtre de commande du client indique l’état du déploiement. Vous devez ensuite voir une série de messages indiquant que le processus de déploiement attend le pod du contrôleur :
2018-11-15 15:42:02.0209 UTC | INFO | Waiting for controller pod to be up...
Après 10 à 20 minutes, vous devez être informé que le pod du contrôleur est en cours d’exécution :
2018-11-15 15:50:50.0300 UTC | INFO | Controller pod is running.
2018-11-15 15:50:50.0585 UTC | INFO | Controller Endpoint: https://111.111.111.111:30080
Important
L’ensemble du processus de déploiement peut durer longtemps en raison du temps nécessaire au téléchargement des images de conteneur pour les composants du cluster Big Data. Il ne devrait cependant pas prendre plusieurs heures. Si vous rencontrez des problèmes avec votre déploiement, consultez Supervision et résolution des problèmes de Clusters Big Data SQL Server.
Inspecter le cluster
À tout moment pendant le déploiement, vous pouvez utiliser kubectl ou azdata pour inspecter l’état et les détails sur le cluster Big Data en cours d’exécution.
Utiliser kubectl
Ouvrez une nouvelle fenêtre de commande pour utiliser kubectl pendant le processus de déploiement.
Exécutez la commande suivante pour obtenir un récapitulatif de l’état de l’ensemble du cluster :
kubectl get all -n <your-big-data-cluster-name>
Conseil
Si vous n’avez pas modifié le nom du cluster Big Data, le script utilise sqlbigdata par défaut.
Examinez les services kubernetes et leurs points de terminaison internes et externes avec la commande kubectl suivante :
kubectl get svc -n <your-big-data-cluster-name>
Vous pouvez également inspecter l’état des pods kubernetes avec la commande suivante :
kubectl get pods -n <your-big-data-cluster-name>
Trouvez plus d’informations sur un pod spécifique avec la commande suivante :
kubectl describe pod <pod name> -n <your-big-data-cluster-name>
Conseil
Pour plus d’informations sur la supervision et la résolution des problèmes d’un déploiement, consultez Supervision et résolution des problèmes de Clusters Big Data SQL Server.
Se connecter au cluster
Une fois le script déploiement terminé, la sortie vous indique la réussite :
2018-11-15 16:10:25.0583 UTC | INFO | Cluster state: Ready
2018-11-15 16:10:25.0583 UTC | INFO | Cluster deployed successfully.
Le cluster Big Data SQL Server est maintenant déployé sur AKS. Vous pouvez maintenant utiliser Azure Data Studio pour vous connecter au cluster. Pour plus d’informations, consultez Se connecter à un cluster Big Data SQL Server avec Azure Data Studio.
Nettoyer
Si vous testez Clusters Big Data SQL Server dans Azure, vous devez supprimer le cluster AKS une fois que vous avez fini pour éviter les charges inattendues. Ne supprimez pas le cluster si vous envisagez de continuer à l’utiliser.
Avertissement
Les étapes suivantes détruisent le cluster AKS, ce qui supprime également le cluster Big Data SQL Server. Si vous voulez conserver des bases de données ou des données HDFS, sauvegardez-les avant de supprimer le cluster.
Exécutez la commande Azure CLI suivante pour supprimer le cluster Big Data et le service AKS dans Azure (remplacez <resource group name>
par le groupe de ressources Azure que vous avez spécifié dans le script de déploiement) :
az group delete -n <resource group name>