Corriendo Microsoft SQL Server 2022 en Kubernetes
Una instancia de Kubernetes corriendo en Linux proporciona lo necesario para correr Microsoft SQL Server 2022

Correr Microsoft SQL Server 2022 en Kubernetes ofrece la flexibilidad de los contenedores junto con las fortalezas de una base de datos empresarial. En este artículo veremos cómo instalar SQL Server sobre un clúster de Kubernetes corriendo sobre Ubuntu 24.04.
Limitaciones
Para este ejemplo, es importante destacar que no se va a contar con la integración a Active Directory (a pesar de que es posible hacerlo) y tampoco estará disponible el servicio de Microsoft SQL Server Agent.
Pre-requisitos
Antes de comenzar con la instalación de Microsoft SQL Server 2022 en Kubernetes, es esencial contar con un clúster de Kubernetes funcional. Para ello, te recomendamos seguir los pasos detallados en nuestra: Guía para crear un servidor personal de Kubernetes. Esta guía te proporcionará las instrucciones necesarias para configurar tu entorno de Kubernetes de manera adecuada, asegurando que los siguientes pasos del tutorial se ejecuten sin inconvenientes.
Procedimiento
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Namespace
metadata:
name: mssql
---
apiVersion: v1
kind: Secret
metadata:
name: mssql-secret
namespace: mssql
type: Opaque
stringData:
SA_PASSWORD: "YourStrong!Passw0rd" # ⚠️ Reemplazar con un password fuerte
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mssql-pvc
namespace: mssql
spec:
storageClassName: longhorn
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mssql
namespace: mssql
spec:
replicas: 1
selector:
matchLabels:
app: mssql
template:
metadata:
labels:
app: mssql
spec:
securityContext:
fsGroup: 10001
containers:
- name: mssql
image: mcr.microsoft.com/mssql/server:2022-latest
ports:
- containerPort: 1433
env:
- name: ACCEPT_EULA
value: "Y"
- name: SA_PASSWORD
valueFrom:
secretKeyRef:
name: mssql-secret
key: SA_PASSWORD
volumeMounts:
- name: mssql-data
mountPath: /var/opt/mssql
volumes:
- name: mssql-data
persistentVolumeClaim:
claimName: mssql-pvc
---
apiVersion: v1
kind: Service
metadata:
name: mssql
namespace: mssql
spec:
type: LoadBalancer
selector:
app: mssql
ports:
- protocol: TCP
port: 1433
targetPort: 1433
EOF
Probando la nueva instancia de Microsoft SQL Server 2022
Empiece por verificar el IP asignado por MetalLB a su instancia:
kubectl get svc mssql -n mssql -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Utilice este IP en la ventana de conexión del SQL Server Management Studio 21 o superior:

Tome en cuenta que para este ejemplo, el password del usuario “sa” es: YourStrong!Passw0rd
Conclusión
En este artículo vimos cómo instalar Microsoft SQL Server 2022 en Kubernetes, cubriendo la creación del contenedor y el acceso al servicio. Al combinar la robustez de SQL Server con la escalabilidad de Kubernetes, es posible crear entornos de bases de datos modernos, flexibles y fácilmente gestionables.
Es recomendable investigar sobre mejores prácticas de seguridad antes de intentar correr esta instancia en un ambiente de producción.




