Avvio rapido: Distribuire un contenitore di SQL Server in Linux nel servizio Kubernetes usando grafici Helm
Si applica a: SQL Server - Linux
Questa guida di avvio rapido illustra le procedure per distribuire contenitori di SQL Server in Linux nel servizio Azure Kubernetes con grafici Helm da un computer client Windows.
Il servizio Azure Kubernetes è un servizio gestito per la distribuzione e la gestione dei cluster di contenitori. Helm è uno strumento per la creazione di pacchetti open source che consente di installare e gestire il ciclo di vita delle applicazioni Kubernetes.
Prerequisiti
Una sottoscrizione di Azure. Se non hai una sottoscrizione Azure, crea un account gratuito.
Scaricare ed esaminare il grafico Helm di esempio per questa guida di avvio rapido. Il grafico di esempio contiene numerose opzioni di configurazione per personalizzare la distribuzione di SQL Server.
Installare gli strumenti client
Nel computer client Windows sono necessari gli strumenti seguenti.
- Interfaccia della riga di comando di Azure per Windows.
- Helm per Windows.
Se si preferisce usare un sistema operativo client diverso, occorre selezionare i pacchetti appropriati per tale piattaforma.
Installare kubectl usando il modulo Az di PowerShell
Per interagire con il cluster Kubernetes si usa kubectl. Per altre informazioni, vedere az aks install-cli.
Per installare kubectl, eseguire il comando seguente dal prompt dei comandi di Windows:
az aks install-cli
Suggerimento
È possibile aggiungere kubectl alla variabile di ambiente locale PATH
, in modo da evitare di digitare il percorso completo ogni volta.
Connettere kubectl al cluster servizio Azure Kubernetes
È necessario unire il contesto del cluster del servizio Azure Kubernetes in modo che i comandi kubectl o helm vengano eseguiti in tale cluster specifico.
Per unire il contesto, eseguire il comando descritto nell'articolo Connettersi al cluster del servizio Azure Kubernetes:
az aks get-credentials --resource-group <resourcegroupname> --name <aks clustername>
Dovrebbe essere visualizzato l'output seguente, dove
<clustername>
è il cluster specificato e<username>
è l'account utente di Windows locale:Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
Verificare che l'unione sia riuscita eseguendo
kubectl get nodes
. L'output dovrebbe visualizzare i nodi nel contesto del cluster del servizio Azure Kubernetes.NAME STATUS ROLES AGE VERSION <aks-node>-vmss000000 Ready agent 141d v1.16.13 <aks-node>-vmss000001 Ready agent 141d v1.16.13
Esaminare il grafico Helm di esempio
A questo punto è possibile distribuire il contenitore di SQL Server nel cluster del servizio Azure Kubernetes tramite il grafico Helm.
Questa guida di avvio rapido fornisce un grafico Helm di esempio da usare così com'è. L'esempio viene fornito solo per riferimento. Ricordarsi di esaminare il file readme
per conoscere i valori di configurazione corrispondenti ai requisiti di configurazione.
Se si vuole distribuire SQL Server in modalità StatefulSet, ossia la modalità consigliata per le distribuzioni di SQL Server, è possibile usare invece un grafico Helm di esempio basato su StatefulSet da usare così com'è.
Scaricare il grafico Helm di esempio.
Passare alla directory in cui è stato scaricato il grafico di esempio e modificare il file
values.yaml
se necessario.
Distribuire SQL Server nel cluster del servizio Azure Kubernetes
Implementare il servizio usando il comando seguente. Il nome della distribuzione è personalizzabile, quindi è possibile sostituire mssql-latest-deploy
con qualsiasi nome.
helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer
Nell'esempio precedente il grafico e i relativi file si trovano nella directory corrente, rappresentata dal punto (.
). È possibile specificare il percorso del grafico, se si preferisce.
Se il comando riesce, l'output sarà simile al seguente:
NAME: mssql-latest-deploy
LAST DEPLOYED: Wed Apr 06 21:36:19 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
Verificare la distribuzione di SQL Server
La distribuzione in un cluster Kubernetes può richiedere alcuni minuti. Per verificare che sia riuscita, eseguire il comando seguente:
kubectl get all
Se il comando riesce, l'output sarà simile al seguente:
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
Connettersi all'istanza di SQL Server in esecuzione nel servizio Azure Kubernetes
È possibile connettersi all'istanza di SQL Server usando qualsiasi strumento client SQL Server con cui si abbia dimestichezza, come SQL Server Management Studio (SSMS), Azure Data Studio o sqlcmd.
Ad esempio, se ci si connette all'istanza di SQL Server tramite SSMS, è possibile usare le impostazioni seguenti:
- Nome server: usare l'indirizzo
External-IP
per il serviziomssql-latest-deploy
. In questo esempio è20.40.0.145
. - Autenticazione: selezionare Autenticazione di SQL Server dall'elenco a discesa.
- Account di accesso: usare sa, ovvero l'account amministratore di sistema.
- Password: la password dell'amministratore di sistema corrisponde al valore specificato nell'opzione di configurazione
sa_password
, nel filevalues.yaml
del grafico Helm.
Una volta connesso, è possibile espandere l'istanza di SQL Server in Esplora oggetti.
Pulire le risorse
Se non si prevede di continuare a usare il cluster del servizio Azure Kubernetes, ricordarsi di eliminarlo.