Tutorial de despliegue de Kubernetes en Alibaba Cloud con ACK (Container Service for Kubernetes)

·

·

Tutorial de despliegue de Kubernetes en Alibaba Cloud con ACK (Container Service for Kubernetes)

Este artículo ofrece una guía completa y detallada para desplegar un clúster de Kubernetes en Alibaba Cloud utilizando ACK (Alibaba Cloud Container Service for Kubernetes). Veremos desde la configuración inicial de la cuenta hasta prácticas avanzadas de monitoreo, escalado y seguridad.

Índice

  • 1. Introducción a ACK
  • 2. Requisitos y configuración previa
  • 3. Diseño de la arquitectura
  • 4. Creación de un clúster ACK
  • 5. Configuración del entorno local
  • 6. Despliegue de una aplicación de ejemplo
  • 7. Monitoreo y escalado automático
  • 8. Seguridad y buenas prácticas
  • 9. Optimización y costes
  • 10. Conclusiones

1. Introducción a ACK

Alibaba Cloud Container Service for Kubernetes (ACK) es la plataforma gestionada de Kubernetes de Alibaba Cloud. Está diseñada para simplificar la creación, programación y escalado de aplicaciones en contenedores.

  • Alta disponibilidad: multi-zona y multi-región.
  • Integración nativa: redes VPC, balanceadores SLB, bases de datos y almacenamiento.
  • Escalado automático: Cluster Auto-Scaler y Horizontal Pod Autoscaler.
  • Seguridad: integración con RAM, KMS, OIDC y políticas de red.

ACK es ideal tanto para entornos de desarrollo como producción, permitiendo aprovechar la infraestructura global de Alibaba Cloud.

2. Requisitos y configuración previa

Antes de comenzar, asegúrate de tener:

  1. Una cuenta de Alibaba Cloud activa. Regístrate en alibabacloud.com.
  2. Permisos necesarios (roles RAM) para crear VPC, instancias ECS, SLB y clústeres ACK.
  3. Alibaba Cloud CLI configurado localmente (aliyun configure).
  4. kubectl instalado (documentación oficial).

Verifica la configuración del CLI:

aliyun ecs DescribeRegions
kubectl version --client=true

3. Diseño de la arquitectura

El siguiente diagrama conceptual muestra los componentes clave:

  • Red VPC propia con subredes en 3 zonas de disponibilidad.
  • Balanceadores de carga (SLB) para exponer servicios.
  • Clúster ACK con nodos en múltiples zonas.
  • Almacenamiento: Disk CSI para volúmenes persistentes (PV).
Componente Descripción
VPC Red privada con subredes en tres zonas (cn-hangzhou-a/b/c).
Cluster ACK Control plane gestionado y nodos ECS.
SLB Balanceador público/privado para servicios.
OSS Almacenamiento de objetos para imágenes y datos estáticos.

4. Creación de un clúster ACK

4.1. Vía consola web

  1. Accede al Container Service for Kubernetes en la consola de Alibaba Cloud.
  2. Haz clic en Crear clúster y selecciona ACK Standard o ACK Dedicated.
  3. Define el nombre, la región y las zonas de disponibilidad.
  4. Elige la configuración de nodos (tipo ECS, cantidad y discos).
  5. Configura la red (VPC, subredes, grupo de seguridad).
  6. Revisa y lanza el clúster.

4.2. Vía Alibaba Cloud CLI

aliyun cs CreateCluster
  --RegionId=cn-hangzhou
  --ClusterName=mi-cluster-ack
  --MasterInstanceType=ecs.g6.large
  --VpcId=vpc-123456
  --VSwitchIds=vsw-111111,vsw-222222,vsw-333333
  --NodeInstanceType=ecs.g6.large
  --NodeCount=3
  --UserCIDRs=0.0.0.0/0

5. Configuración del entorno local

Una vez creado el clúster, descarga el archivo kubeconfig desde la consola o CLI:

aliyun cs KubeConfigGet
  --ClusterId=cls-abcdefg
  --File=~/.kube/config

Verifica la conexión:

kubectl get nodes
NAME               STATUS   ROLES    AGE    VERSION
acs-xxx-yyy        Ready       5m     v1.21.0-aliyun.1

6. Despliegue de una aplicación de ejemplo

Usaremos una aplicación NGINX con un Deployment y un Service de tipo LoadBalancer:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.21
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80

Aplica la configuración:

kubectl apply -f nginx-deploy.yaml
kubectl get svc nginx-svc

La dirección externa del Service aparecerá en segundos y estará gestionada por SLB.

7. Monitoreo y escalado automático

7.1. HPA (Horizontal Pod Autoscaler)

Habilita métricas con metrics-server y luego crea un HPA:

kubectl autoscale deployment nginx-deploy
  --cpu-percent=50
  --min=2 --max=5

7.2. Cluster Auto-Scaler

ACK ofrece un Cluster Auto-Scaler integrado que ajusta dinámicamente el número de nodos ECS según la carga:

  • Configura los límites mínimo y máximo de nodos.
  • Permite escalado por demanda al subir pods pendientes.

7.3. Monitoreo con Prometheus y Grafana

Instala el Alibaba Cloud Service Mesh o despliega Prometheus/Grafana mediante Helm:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install kube-prometheus prometheus-community/kube-prometheus-stack

8. Seguridad y buenas prácticas

  • RBAC: Define roles y bindings mínimos.
  • Red: Aplica políticas de red con NetworkPolicy.
  • Identidad: Usa RAM Roles for Service Accounts (IRSA).
  • Encriptación: Activa KMS para secretos de Kubernetes.
  • Auditoría: Configura el servidor de auditoría (Audit Logs).
  • Escaneo de vulnerabilidades: Integra herramientas como Trivy.

9. Optimización y costes

  • Elige instancias ECS preemptibles (Spot) para nodos no críticos.
  • Configura escalado por demanda y apagado automático de nodos inactivos.
  • Monitoriza el consumo con CloudMonitor y ajusta tipos de instancia.
  • Usa almacenamiento OSS para imágenes y datos estáticos.

10. Conclusiones

Desplegar Kubernetes en Alibaba Cloud con ACK permite aprovechar una plataforma gestionada, segura y altamente escalable. Siguiendo este tutorial paso a paso, se facilita la puesta en marcha de clústeres de producción, integrando buenas prácticas de seguridad, monitoreo y optimización de costes.

Para más información consulta la documentación oficial de ACK y los guías avanzadas.



Leave a Reply

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