Tutorial paso a paso para configurar un clúster Kubernetes en DigitalOcean

·

·

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 doctl o descarga desde GitHub Releases.
  • 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 4096 y 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

Your email address will not be published. Required fields are marked *