Démarrage rapide : Déployer un conteneur Linux SQL Server sur Kubernetes à l’aide de graphiques Helm
S’applique à : SQL Server - Linux
Ce guide de démarrage rapide vous guide tout au long des étapes de déploiement de conteneurs SQL Server sur Linux sur Azure Kubernetes Service (AKS) avec des graphiques Helm à partir d’une machine cliente Windows.
AKS est un service Kubernetes managé pour le déploiement et la gestion des clusters de conteneurs. Helm est un outil d’empaquetage open source qui vous aide à installer et à gérer le cycle de vie d’applications Kubernetes.
Prérequis
Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, vous pouvez créer un compte gratuit.
Télécharger et passer en revue l’exemple de graphique Helm pour ce guide de démarrage rapide. L’exemple de graphique contient de nombreuses options de configuration pour personnaliser votre déploiement SQL Server.
Installer les outils clients
Sur votre ordinateur client Windows, vous aurez besoin des outils suivants.
Si vous préférez utiliser un autre système d’exploitation client, vous devez sélectionner les packages appropriés pour cette plateforme.
Installer kubectl à l’aide du module Az PowerShell
Vous allez utiliser kubectl pour interagir avec le cluster Kubernetes. Pour plus d’informations, consultez az aks install-cli.
Pour installer kubectl, exécutez la commande suivante à partir de l’invite de commandes Windows :
az aks install-cli
Conseil
Vous pouvez ajouter kubectl à votre variable d’environnement locale PATH
afin que vous n’ayez pas à taper le chemin d’accès complet chaque fois.
Connecter kubectl au cluster AKS
Vous devez fusionner le contexte du cluster AKS afin que les commandes kubectl ou helm s’exécutent sur ce cluster AKS spécifique.
Pour fusionner, exécutez la commande comme décrit dans l’article Se connecter au cluster AKS :
az aks get-credentials --resource-group <resourcegroupname> --name <aks clustername>
Vous devez voir la sortie suivante, où
<clustername>
est le cluster que vous avez fourni et<username>
est votre compte d’utilisateur Windows local :Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
Vérifiez que la fusion a réussi en exécutant
kubectl get nodes
. La sortie doit afficher les nœuds dans le contexte de votre cluster AKS.NAME STATUS ROLES AGE VERSION <aks-node>-vmss000000 Ready agent 141d v1.16.13 <aks-node>-vmss000001 Ready agent 141d v1.16.13
Examiner l’exemple de graphique Helm
Vous êtes maintenant prêt à déployer SQL Server sur un cluster AKS via le graphique Helm.
Ce guide de démarrage rapide fournit un exemple de graphique Helm « as-is ». L’exemple est uniquement pour référence. Pensez à passer en revue le fichier readme
pour comprendre les valeurs de configuration qui correspondent à vos besoins de configuration.
Si vous souhaitez déployer SQL Server en mode StatefulSet, qui est le mode recommandé pour les déploiements SQL Server, vous pouvez afficher un exemple de déploiement de graphique Helm « as-is » basé sur StatefulSet à la place.
Téléchargez l’exemple de graphique Helm.
Basculez vers le répertoire dans lequel vous avez téléchargé l’exemple de graphique et modifiez le fichier
values.yaml
si nécessaire.
Déployer SQL Server sur le cluster AKS
Déployez SQL Server à l’aide de la commande suivante : Le nom du déploiement est personnalisable. Vous pouvez donc définir mssql-latest-deploy
comme vous le souhaitez.
helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer
Dans l’exemple ci-dessus, le graphique et ses fichiers se trouvent dans le répertoire actif, représenté par le point (.
). Vous pouvez spécifier le chemin d’accès du graphique si vous préférez.
En cas de réussite, vous verrez une sortie similaire :
NAME: mssql-latest-deploy
LAST DEPLOYED: Wed Apr 06 21:36:19 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
Vérifier le déploiement SQL Server
Le déploiement sur un cluster Kubernetes peut prendre quelques minutes. Pour vérifier que le déploiement a réussi, exécutez la commande suivante :
kubectl get all
En cas de réussite, vous verrez une sortie similaire :
NAME READY STATUS RESTARTS AGE
pod/mssql-latest-deploy-7f8c7f5bc-9grmg 1/1 Running 0 2m56s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 141d
service/mssql-latest-deploy LoadBalancer 10.0.247.220 20.40.0.145 1433:30780/TCP 2m56s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/mssql-latest-deploy 1/1 1 1 2m56s
NAME DESIRED CURRENT READY AGE
replicaset.apps/mssql-latest-deploy-7f8c7f5bc 1 1 1 2m56s
Se connecter à SQL Server exécuté sur AKS
Vous pouvez vous connecter à l’instance SQL Server à l’aide d’un outil client SQL Server familier, tel que SQL Server Management Studio (SSMS), Azure Data Studio ou sqlcmd.
Par exemple, si vous vous connectez à l’instance SQL Server à l’aide de SSMS, vous pouvez utiliser les paramètres suivants :
- Nom du serveur : utilisez l’adresse
External-IP
du servicemssql-latest-deploy
. Dans cet exemple, il s’agit de20.40.0.145
. - Authentification : sélectionnez l’authentification SQL Server dans la liste déroulante.
- Nom d’utilisateur : utilisez sa, qui est le compte administrateur système.
- Mot de passe : le mot de passe sa correspond à la valeur que vous avez fournie dans l’option de configuration
sa_password
, dans le fichiervalues.yaml
du graphique Helm.
Une fois la connexion établie, vous pouvez développer l'instance du serveur SQL dans l'Explorateur d'objets.
Nettoyer les ressources
Si vous n’allez pas continuer à utiliser votre cluster AKS, n’oubliez pas de le supprimer.