SQLServer en linux con Kubernetes
Algunas veces, cuando estamos trabajando desde sistemas operativos UNIX, necesitamos crear instancias de SQL server sin tener que cambiar a Windows, por lo que hoy en día, se nos hace más fácil poder seguir trabajando desde linux con algunas tecnologías de Microsoft, si bien no es tan flexible como en Windows, nos ofrece la posibilidad de poder trabajar de forma cómoda desde entornos no Windows.
Para poder hacer este pequeño ejercicio, estaré corriendo los comandos desde Ubuntu 20.04.
Las tecnologías que es indispensable que tengas instaladas en tu sistema antes de empezar es:
- Azure Data Studio
- Minikube
- kubectl
Azure Data Studio nos servirá como management para la administración de la base de datos, Minikube y kubectl, nos servirá para poder administrar los cluster que vamos a crear.
Creamos una SA_PASSWORD
kubectl create secret generic mssql --from-literal=SA_PASSWORD="MySeCret3d9l&xP@ssw0rd"
Obtendremos una salida similar a
Creamos un archivo llamado msql.yaml
Ejecutamos el comando
kubectl apply -f msql.yaml
Y obtendremos una salida como esta
Ahora que ya hemos creado el volumen, continuaremos creando el sqldeployment.yaml
Y ejecutamos el siguiente comando
kubectl apply -f sqldeployment.yaml
La primera vez que ejecuten ese comando, tardará unos minutos mientras se descarga la imagen de sql server. Esto depende de su conexión a internet
Pueden ver el estado de creación del cluste
kubectl get pods
En mi caso, se ha creado, y ya está corriendo, pero en el de ustedes es posible que tarde unos minutos, y el Status no sea “Running”
Pueden ejecutar en terminal el siguiente comando para ver en qué estado se encuentra, o si algo falló, ejecutando.
kubectl describe pod mssql-deployment-cdc47fc9b-v4zjw
si nos vamos a nuestro dashboard de kubernetes tendremos una vista como esta
Muy bien, ya está corriendo SQL Server en un cluster de kubernetes
¿Cómo nos conectamos?
Ejecutamos la siguiente linea de comando para ver la URL a la cual nos tenemos que pegar desde Azure Data Studio
minikube service mssql-deployment --url
Luego nos podemos conectar desde Azure Data Studio con las credenciales:
user: sa
password: MySeCret3d9l&xP@ssw0rd
Y para finalizar
Estamos corriendo SQL Server desde kubernetes y nos conectamos desde Azure Data Studio.
;)