Introducción 🚀

En este tutorial aprenderás a montar un clúster Kubernetes en DigitalOcean de manera rápida y profesional 😎. Aprovecharemos DigitalOcean y su servicio gestionado DigitalOcean Kubernetes para desplegar contenedores, escalar de forma dinámica y asegurar alta disponibilidad.

Requisitos previos 📋

⭐ Una cuenta activa en DigitalOcean.

doctl instalado y autenticado.

kubectl instalado en tu equipo local.

⭐ Clave SSH configurada (sin contraseña) para acceder a los nodos.

Configuración inicial 🛠️

Crear cuenta en DigitalOcean

Regístrate en DigitalOcean y verifica tu dirección de correo electrónico. Agrega un método de pago válido para poder crear recursos.

Instalar y autenticar doctl

Descarga e instala doctl según tu sistema operativo:

· macOS: sigue las instrucciones oficiales.

· Windows: usa scoop o chocolatey.

· Linux: instala desde paquetes o snap.

Luego, autentica tu cliente:

doctl auth init y pega tu token personal de API.

Crear el clúster de Kubernetes ☸️

Selección de especificaciones

Elige la cantidad de nodos y el tamaño adecuado según tu carga de trabajo. A continuación un ejemplo:

Component Nombre CPU / RAM Precio mensual
Control plane gestionado por DO Automático Incluido
Worker node s-2vcpu-4gb 2 vCPU / 4 GB 24 USD
Worker node s-4vcpu-8gb 4 vCPU / 8 GB 48 USD

Comando para crear el clúster

Ejecuta:

doctl kubernetes cluster create mi-cluster –region ams3 –version latest –node-pool name=pool-1size=s-2vcpu-4gbcount=3

Este comando crea un clúster llamado mi-cluster en el datacenter de Ámsterdam con 3 nodos de 2 vCPU y 4 GB de RAM.

Configurar kubectl 🔧

Obtener credenciales

Vincula tu kubectl al clúster recién creado:

doctl kubernetes cluster kubeconfig save mi-cluster

Verificar nodos

Comprueba que los nodos estén listos:

kubectl get nodes

Deberías ver tus 3 nodos en estado Ready 🎉.

Desplegar tu primera aplicación 🐳

Crear un despliegue Nginx

Genera un Deployment sencillo:

kubectl create deployment nginx-deploy –image=nginx:latest

Exponer el servicio

Publica el Deployment con un LoadBalancer:

kubectl expose deployment nginx-deploy –port=80 –type=LoadBalancer

En unos segundos, DigitalOcean aprovisionará una IP pública para tu servicio.

Escalado y gestión 📈

Escalado horizontal

Para aumentar réplicas:

kubectl scale deployment nginx-deploy –replicas=5

¡Así de fácil subes o bajas según demanda! 🚀

Actualizaciones de clúster

DigitalOcean ofrece actualizaciones automáticas o manuales. Para ver versiones disponibles:

doctl kubernetes cluster versions

Y para actualizar:

doctl kubernetes cluster update mi-cluster –version

Monitorización y buenas prácticas 🔍

Integración con Metrics

Activa el complemento de DigitalOcean Metrics para visualizar CPU, memoria y networking desde el panel de control. Ideal para detectar cuellos de botella.

Seguridad

· Implementa Network Policies para aislar pods.

· Usa Namespaces para separar entornos (dev, prod).

· Gestiona secretos con Kubernetes Secrets, nunca variables de entorno planas.

Costos estimados 💰

Recurso Cantidad Costo unitario Total mensual
Control plane 1 (gestionado) Incluido 0 USD
Worker nodes (s-2vcpu-4gb) 3 24 USD 72 USD
Transferencia de datos 1 TB 0.01 USD/GB 10 USD
Total estimado 82 USD

Conclusiones 🎉

Montar un clúster Kubernetes en DigitalOcean es accesible, escalable y potente. Siguiendo estos pasos habrás desplegado un entorno listo para producción, con monitorización y buenas prácticas de seguridad. ¡Empieza hoy mismo a orquestar tus contenedores en la nube! ☁️

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *