POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

StackOpsys: Parte 3 Automatización de Kubernetes en Proxmox con Packer, Terraform y Ansible

## StackOpsys Parte 3: Automatización de Kubernetes en Proxmox con Packer, Terraform y Ansible

Publicado el 05/09/2025

StackOpsys Parte 3 Automatización de la infraestructura de Kubernetes en Proxmox con Packer Terraform y Ansible. En esta entrega mostramos cómo desplegar de forma reproducible un clúster Kubernetes con kubeadm y containerd sobre Ubuntu Server 24.04 LTS, orquestado con Ansible y tareas automatizadas con go-task. En Q2BSTUDIO empresa de desarrollo de software y aplicaciones a medida especialistas en inteligencia artificial ciberseguridad servicios cloud aws y azure y servicios inteligencia de negocio aplicamos estas prácticas para entregar plataformas escalables y seguras alineadas con objetivos de negocio. Si buscas acelerar tu adopción de Kubernetes y optimizar procesos, descubre nuestra automatización de procesos software y nuestros servicios cloud Azure y AWS.

Qué incluye esta fase

- Instalación automatizada del clúster Kubernetes con kubeadm. - Configuración de nodos master y worker con runtime containerd. - Preparación de módulos de red para Istio. - Gestión de claves SSH y autenticación sin contraseña. - Verificación del clúster y configuración de kubeconfig. - Automatización de tareas con go-task para operaciones simplificadas.

Tecnologías

- Ansible 2.9 o superior. - Kubernetes kubeadm. - Runtime containerd. - Task go-task para automatización. - Ubuntu Server 24.04 LTS. - Python 3.13.

Visión general de StackOpsys

Automatizamos el ciclo completo desde la preparación de nodos hasta la unión al clúster, asegurando que la red, el runtime y kubeadm queden coherentes y listos para Istio y futuras capas como observabilidad o Kubeflow.

Estructura del proyecto

ansible/ ansible.cfg configuración de Ansible site.yaml playbook principal Taskfile.yml tareas automatizadas con Task inventory/ hosts.ini inventario de hosts inventory/group_vars/all.yaml variables globales roles/ prepare-nodes preparación de nodos configure-master-node configuración del master configure-worker-node configuración de workers kubeconfig distribución de kubeconfig reset-vm reseteo opcional del clúster collections/ requirements.yaml colecciones de Ansible output/ registros y ficheros generados

Flujo de trabajo detallado

1 Preparación de nodos y sistema operativo. 2 Instalación y configuración de containerd. 3 Instalación de kubeadm kubelet y kubectl. 4 Inicialización del control plane y configuración de red. 5 Generación de tokens de unión y alta de workers. 6 Copia y preparación de kubeconfig para acceso.

Ejemplos de configuración

Inventario de hosts [k8s_master] cluster-kubeadm-k8s-master-01 ansible_host=192.168.100.220 [k8s_worker] cluster-kubeadm-k8s-worker-01 ansible_host=192.168.100.223 cluster-kubeadm-k8s-worker-02 ansible_host=192.168.100.224

Variables globales os linux arch amd64 ansible_user usuario ansible_ssh_private_key_file ~/.ssh/ansible ansible_become true

Arquitectura del clúster

- Nodo master 1 nodo 192.168.100.220. - Nodos worker 2 nodos 192.168.100.223 y 192.168.100.224. - Runtime containerd. - Red preparada para Istio.

Pasos de uso

1 Prerrequisitos Instalar Task en macOS brew install go-task/tap/go-task Instalar colecciones de Ansible ansible-galaxy collection install -r collections/requirements.yaml Configurar claves SSH ssh-copy-id -i ~/.ssh/ansible.pub usuario@192.168.100.220 ssh-copy-id -i ~/.ssh/ansible.pub usuario@192.168.100.223 ssh-copy-id -i ~/.ssh/ansible.pub usuario@192.168.100.224

2 Pruebas en modo simulación Probar configuración completa task test:all Probar solo master task test:site:master Probar solo workers task test:site:worker

3 Despliegue completo Ejecutar toda la configuración task apply:all O paso a paso task apply:site task apply:kubeconfig

4 Alternativa con Ansible directo Verificar conectividad ansible all -i inventory/hosts.ini -m ping Despliegue completo ansible-playbook site.yaml -i inventory/hosts.ini

Desglose de roles Ansible

- prepare-nodes desactiva swap permanentemente, configura módulos del kernel overlay y br_netfilter, instala y ajusta containerd, prepara módulos para Istio y Kubeflow, instala kubeadm kubelet y kubectl. - configure-master-node inicializa el clúster con kubeadm, configura la red del clúster, genera tokens de unión para los workers. - configure-worker-node une los nodos worker al clúster y configura kubelet. - kubeconfig copia el kubeconfig desde el master y deja listo el acceso local al clúster.

Salidas y verificación

Archivos generados output ansible-2025-01-XX_XX-XX-XX.log registros de ejecución kubeconfig configuración de Kubernetes

Comandos de verificación del clúster Copiar kubeconfig local scp usuario@192.168.100.220:~/.kube/config ~/.kube/config Comprobar estado kubectl get nodes kubectl get pods -A kubectl cluster-info

Salida esperada NAME STATUS ROLES AGE VERSION cluster-kubeadm-k8s-master-01 Ready control-plane 5m v1.28.x cluster-kubeadm-k8s-worker-01 Ready ninguno 3m v1.28.x cluster-kubeadm-k8s-worker-02 Ready ninguno 3m v1.28.x

Automatización con Task

Tareas disponibles task init inicializa directorios de logs task test:all ejecuta pruebas en modo simulación task apply:all despliegue completo task apply:site ejecución del playbook principal task apply:kubeconfig configuración de kubeconfig. Registro automatizado con ficheros con sello temporal, estructura de salida clara y trazabilidad detallada.

Resolución de problemas y reseteo

- Probar conectividad SSH ansible all -i inventory/hosts.ini -m ping. - Si swap está activa sudo swapoff -a y editar fstab para comentar la línea de swap. - Ejecución con más detalle ansible-playbook site.yaml -i inventory/hosts.ini -vvv. - Reseteo opcional del clúster activar el rol de reset y ejecutar ansible-playbook site.yaml -i inventory/hosts.ini --tags reset.

Qué sigue

Con el clúster listo, despliega un CNI como Calico, configura el service mesh con Istio e integra observabilidad y políticas de seguridad. Si además buscas potenciar tus aplicaciones a medida con analítica y cuadros de mando, explora nuestros servicios de inteligencia de negocio y power bi en la página de Business Intelligence y Power BI.

Trayecto completo de StackOpsys

Parte 1 plantillas de VM personalizadas con Packer. Parte 2 aprovisionamiento de infraestructura con Terraform. Parte 3 automatización del clúster con Ansible. Proyecto completo disponible en el repositorio en GitHub.

Sobre Q2BSTUDIO

Somos una empresa de desarrollo de software a medida y aplicaciones a medida que combina ingeniería de plataformas con prácticas de ciberseguridad y servicios cloud aws y azure. Entregamos soluciones con inteligencia artificial ia para empresas, desplegamos agentes IA y aceleramos el acceso a datos con servicios inteligencia de negocio y power bi. Si quieres transformar tu plataforma con automatización Kubernetes y modernización cloud, podemos acompañarte desde la arquitectura hasta la operación continua.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio