Introducción
En este tutorial exhaustivo aprenderás a desplegar y gestionar un clúster de Kubernetes en IBM Cloud utilizando el servicio IBM Cloud Kubernetes Service (IKS). Cubriremos desde la configuración inicial de tu cuenta, instalación de la herramienta de línea de comandos, creación de clústeres, despliegue de aplicaciones de ejemplo, hasta las mejores prácticas de seguridad, monitorización y gestión de costes.
Prerequisitos
- Cuenta activa en IBM Cloud.
- IBM Cloud CLI instalado (versiones mínimas).
- Complemento
ibmcloud kspara Kubernetes Service. - kubectl configurado (se descargará automáticamente).
- Conexión a Internet estable.
1. Configuración de la cuenta y el entorno
1.1 Crear cuenta en IBM Cloud
Si aún no dispones de una cuenta, regístrate en el portal de IBM Cloud. Puedes comenzar con el plan gratuito (Lite) que incluye recursos limitados y un crédito inicial.
1.2 Instalación de IBM Cloud CLI y complementos
Descarga e instala la CLI desde documentación oficial. Luego, añade el plugin de Kubernetes:
ibmcloud login --apikey ltTU_API_KEYgt
ibmcloud plugin install container-service -r IBM_Cloud
2. Creación de un clúster de IBM Cloud Kubernetes Service
2.1 Selección de configuración
IKS ofrece dos planes principales:
| Plan | Características | Uso recomendado |
|---|---|---|
| Lite | 1 nodo compartido, 2 vCPU, 4 GB RAM | Pruebas y desarrollo ligero |
| Standard | Nodos dedicados, escalado automático, SLA 99.95% | Producción y cargas de trabajo críticas |
2.2 Creación del clúster
Ejecuta el siguiente comando para crear un clúster en la región eur-gb con 3 nodos de tipo b3c.2x8:
ibmcloud ks cluster create classic --name mi-cluster-iks
--zone eur-gb-1 --workers 3 --worker-vpc-id ltVPC_IDgt --machine-type b3c.2x8
Este proceso puede tardar varios minutos. Consulta el estado con:
ibmcloud ks cluster get --cluster mi-cluster-iks
3. Conexión y configuración local
Para interactuar con tu clúster desde kubectl, obtén las credenciales:
ibmcloud ks cluster config --cluster mi-cluster-iks
Ahora kubectl está apuntando a tu nuevo clúster. Verifica los nodos:
kubectl get nodes
4. Despliegue de una aplicación de ejemplo
4.1 Crear un Deployment
kubectl apply -f - <
4.2 Exponer el servicio
kubectl expose deployment nginx-deploy
--type LoadBalancer --name nginx-service
Obtén la IP pública asignada:
kubectl get svc nginx-service
5. Escalado y actualizaciones
- Escalado de réplicas:
kubectl scale deployment nginx-deploy --replicas=5 - Horizontal Pod Autoscaler:
kubectl autoscale deployment nginx-deploy --min=2 --max=10 --cpu-percent=50 - Escalado de worker nodes:
ibmcloud ks worker-pool resize --cluster mi-cluster-iks --worker-pool default --size 5
6. Monitorización y logging
IBM Cloud integra servicios avanzados para mantener el rendimiento y la observabilidad:
- IBM Cloud Monitoring con Sysdig: Guía de configuración.
- IBM Log Analysis con LogDNA: Documentación oficial.
7. Actualización del clúster y de nodos
Mantén tu clúster seguro y al día:
- Actualiza la versión de Kubernetes:
ibmcloud ks cluster upgrade --cluster mi-cluster-iks --version 1.22 - Actualiza pools de nodos:
ibmcloud ks worker-pool upgrade --cluster mi-cluster-iks --worker-pool default --kube-version 1.22
8. Seguridad y buenas prácticas
- Control de acceso basado en roles (RBAC): define
RolesyRoleBindings. - Namespaces: segmenta recursos para entornos (dev, staging, prod).
- Network Policies: restringe la comunicación entre pods.
- Cifrado de datos: habilita Encryption at Rest en IBM Cloud.
- Escaneo de imágenes: integra Vulnerability Advisor.
9. Gestión de costes
Para optimizar el gasto:
- Utiliza nodos spot para cargas tolerantes a interrupciones.
- Configura límites de recursos (
requestsylimits). - Monitoriza el uso con IBM Cloud Billing and Cost Management.
- Apaga clústeres de desarrollo fuera de horario.
10. Conclusión
Desplegar Kubernetes en IBM Cloud con IBM Cloud Kubernetes Service te brinda una plataforma robusta, segura y escalable para tus aplicaciones en contenedores. Sigue este tutorial paso a paso para poner en marcha tu entorno, aprovechar herramientas de monitorización y garantizar la seguridad. A medida que aumenten tus necesidades, IKS te permite escalar horizontalmente, actualizar versiones sin tiempo de inactividad y administrar costes eficientemente.
¿Listo para empezar Visita la documentación oficial de IBM Cloud Kubernetes Service y da el siguiente paso en tu trayectoria DevOps.
Leave a Reply