Inicio rápido: Implementación de un contenedor de SQL Server en Linux en Azure Kubernetes Service (AKS) mediante gráficos de Helm
Se aplica a: SQL Server - Linux
En este inicio rápido se describen los pasos necesarios para implementar contenedores de SQL Server en Linux en Azure Kubernetes Service (AKS) con gráficos de Helm, desde una máquina cliente Windows.
AKS es un servicio de Kubernetes administrado para implementar y administrar clústeres de contenedores. Helm es una herramienta de empaquetado de código abierto que ayuda a instalar y administrar el ciclo de vida de las aplicaciones de Kubernetes.
Requisitos previos
Suscripción a Azure. Si no tiene una suscripción a Azure, puede crear una cuenta gratuita.
Descargue y revise el gráfico de Helm de ejemplo para este inicio rápido. El gráfico de ejemplo contiene muchas opciones de configuración para personalizar la implementación de SQL Server.
Instalar las herramientas de cliente
En la máquina cliente Windows, necesita las siguientes herramientas.
- CLI de Azure para Windows.
- Helm para Windows.
Si prefiere usar un sistema operativo cliente diferente, debe seleccionar los paquetes adecuados para esa plataforma.
Instalación de kubectl con el módulo Az PowerShell
Use kubectl para interactuar con el clúster de Kubernetes. Para más información, consulte az aks install-cli.
Para instalar kubectl, ejecute el comando siguiente desde el símbolo del sistema de Windows:
az aks install-cli
Sugerencia
Puede agregar kubectl a la variable de entorno PATH
local, de modo que no tenga que escribir la ruta de acceso completa cada vez.
Conexión de kubectl al clúster de AKS
Debe combinar el contexto del clúster de AKS para que los comandos kubectl o helm se ejecuten en ese clúster de AKS específico.
Para combinarlo, ejecute el comando como se describe en el artículo Conexión al clúster de AKS:
az aks get-credentials --resource-group <resourcegroupname> --name <aks clustername>
Debería ver la siguiente salida, donde
<clustername>
es el clúster que proporcionó y<username>
es la cuenta de usuario local de Windows:Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
Confirme que la combinación se realizó correctamente mediante la ejecución de
kubectl get nodes
. La salida debe mostrar los nodos en el contexto del clúster de AKS.NAME STATUS ROLES AGE VERSION <aks-node>-vmss000000 Ready agent 141d v1.16.13 <aks-node>-vmss000001 Ready agent 141d v1.16.13
Revisión del gráfico de Helm de ejemplo
Ya está listo para implementar el clúster de SQL Server en AKS mediante el gráfico de Helm.
En este inicio rápido se proporciona un gráfico de Helm de ejemplo "tal cual". El ejemplo es solo para referencia. Recuerde revisar el archivo readme
para comprender los valores de configuración que coinciden con los requisitos de configuración.
Si desea implementar SQL Server en el modo StatefulSet, que es el modo recomendado para las implementaciones de SQL Server, puede ver una implementación de gráfico de Helm basado en StatefulSet de ejemplo "tal cual".
Descargue el gráfico de Helm de ejemplo.
Cambie al directorio donde descargó el gráfico de ejemplo y modifique el archivo
values.yaml
si es necesario.
Implementación de SQL Server en el clúster de AKS
Implemente el SQL Server mediante el comando siguiente: El nombre de la implementación es personalizable, por lo que puede cambiar mssql-latest-deploy
a cualquier cosa que desee.
helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer
En el ejemplo anterior, el gráfico y sus archivos están en el directorio actual, representado por el punto (.
). Puede especificar la ruta de acceso del gráfico si lo prefiere.
Si la ejecución es correcta, verá una salida similar a esta:
NAME: mssql-latest-deploy
LAST DEPLOYED: Wed Apr 06 21:36:19 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
Verificación de la implementación de SQL Server
La implementación en un clúster de Kubernetes puede tardar unos minutos. Para comprobar que la implementación se ha realizado correctamente, ejecute el siguiente comando:
kubectl get all
Si la ejecución es correcta, verá una salida similar a esta:
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
Conexión a instancia de SQL Server que se ejecuta en AKS
Puede conectarse a la instancia de SQL Server mediante cualquier herramienta de cliente de SQL Server conocida, como SQL Server Management Studio (SSMS), Azure Data Studio o sqlcmd.
Por ejemplo, si se conecta a la instancia de SQL Server mediante SSMS, puede usar la siguiente configuración:
- Nombre del servidor: use la dirección
External-IP
del serviciomssql-latest-deploy
. En este ejemplo, es20.40.0.145
. - Autenticación: seleccione Autenticación de SQL Server en la lista desplegable.
- Iniciar sesión: use sa, que es la cuenta de administrador del sistema.
- Contraseña: la contraseña sa coincide con el valor que proporcionó en la opción de configuración
sa_password
, en el archivovalues.yaml
del gráfico de Helm.
Una vez conectado, puede expandir la instancia de SQL Server en el Explorador de objetos.
Limpieza de recursos
Si no va a seguir usando el clúster de AKS, recuerde eliminar el clúster.
Contenido relacionado
- Inicio rápido: Implementación de SQL Server en Linux mediante un cuaderno de estrategias de Ansible
- Tutorial: Configuración de la autenticación de Active Directory con SQL Server en contenedores de Linux
- Protección de contenedores de Linux de SQL Server
- Solución de problemas de contenedores Docker de SQL Server