Condividi tramite


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

Installare gli strumenti client

Nel computer client Windows sono necessari gli strumenti seguenti.

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

  1. È 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
    
  2. 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'è.

  1. Scaricare il grafico Helm di esempio.

  2. 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 servizio mssql-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 file values.yaml del grafico Helm.

Una volta connesso, è possibile espandere l'istanza di SQL Server in Esplora oggetti.

Screenshot che mostra Esplora oggetti connesso all'istanza di database.

Pulire le risorse

Se non si prevede di continuare a usare il cluster del servizio Azure Kubernetes, ricordarsi di eliminarlo.