Tutorial paso a paso para configurar un clúster Kubernetes en DigitalOcean
Introducción
En este artículo aprenderás a desplegar un clúster Kubernetes en DigitalOcean de forma sencilla y segura. Cubriremos desde los requisitos previos hasta la implementación de una aplicación de ejemplo, pasando por el escalado, la monitorización y la limpieza de recursos.
1. Requisitos previos
- Cuenta en DigitalOcean: Regístrate en https://cloud.digitalocean.com.
- doctl: La CLI oficial de DigitalOcean. Instálala según tu sistema operativo:
- macOS:
brew install doctl - Linux:
snap install doctlo descarga desde GitHub Releases.
- macOS:
- kubectl: La herramienta de línea de comandos para Kubernetes:
curl -LO https://storage.googleapis.com/kubernetes-release/release/(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - SSH Key configurada: Genera una llave con
ssh-keygen -t rsa -b 4096y añádela a tu panel de DigitalOcean.
2. Autenticación con doctl
Una vez instalado doctl, autentica tu cuenta:
doctl auth init --access-token TU_TOKEN_DE_API
Este comando almacenará tu token y te permitirá ejecutar comandos directamente contra la API de DigitalOcean.
3. Crear el clúster Kubernetes
DigitalOcean simplifica la creación de clústeres gestionados usando un solo comando:
doctl kubernetes cluster create mi-cluster
--region nyc1
--version 1.27.3-do.0
--node-pool name=pool-1count=3size=s-2vcpu-4gb
- region: Región donde se creará el clúster.
- version: Versión de Kubernetes.
- node-pool: Configura nombre, cantidad y tamaño de nodos.
| Tamaño | vCPU | RAM | Uso recomendado |
|---|---|---|---|
| s-1vcpu-2gb | 1 | 2 GB | Proyectos de prueba |
| s-2vcpu-4gb | 2 | 4 GB | Entornos de desarrollo pequeños |
| s-4vcpu-8gb | 4 | 8 GB | Entornos de producción ligeros |
4. Configurar kubectl
Para acceder al clúster recién creado, descarga y actualiza el fichero de configuración:
doctl kubernetes cluster kubeconfig save mi-cluster
Verifica que tu context apunte al nuevo clúster:
kubectl config current-context
5. Desplegar una aplicación de ejemplo
Vamos a implementar un servidor nginx y exponerlo con un servicio LoadBalancer:
kubectl create deployment nginx --image=nginx:latest
kubectl expose deployment nginx --port=80 --type=LoadBalancer
Comprueba el estado:
kubectl get services
kubectl get pods
6. Escalado de pods y nodos
Para escalar el despliegue a 5 réplicas:
kubectl scale deployment nginx --replicas=5
Si necesitas más capacidad, ajusta el tamaño del pool o añade nodos:
doctl kubernetes node-pool update mi-cluster --pool-name pool-1 --count 5
7. Actualización del clúster
DigitalOcean permite actualizar la versión de Kubernetes con un comando:
doctl kubernetes cluster upgrade mi-cluster --version 1.28.0-do.0
Nota: Revisa las notas de la versión y planifica ventanas de mantenimiento.
8. Monitorización y logging
- Metrics Server: Para métricas internas:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml - DigitalOcean Monitoring: Actívalo en Panel de Control.
- Integración con Prometheus/Grafana: Revisa la guía oficial de Prometheus.
9. Limpieza de recursos
Cuando finalices las pruebas, elimina el clúster para evitar cargos:
doctl kubernetes cluster delete mi-cluster
Confirma con yes y revisa que no queden droplets huérfanos.
Conclusión
Crear y gestionar un clúster Kubernetes en DigitalOcean es un proceso ágil gracias a DigitalOcean Kubernetes (DOKS). Con este tutorial dispones de una guía completa: desde la configuración inicial hasta la monitorización y la optimización de costes. Experimenta, escala y automatiza tus despliegues para sacar el máximo provecho de la nube.
Para profundizar, visita la Documentación oficial de DigitalOcean Kubernetes y la Documentación oficial de Kubernetes.
Leave a Reply