Trabajar con Kubernetes implica interactuar mediante una interfaz visual o a través de lenguajes de configuración como YAML, JSON o HCL. En esta guía nos centramos en YAML, un formato legible por humanos que facilita versionar, validar y automatizar la definición de infraestructura y aplicaciones en clústeres.
Al aplicar un archivo YAML en Kubernetes se crea un objeto persistente dentro del clúster. Algunos objetos habituales son Pod para ejecutar contenedores, Service para exponer la aplicación, Deployment para gestionar réplicas y actualizaciones, además de ConfigMap, Secret e Ingress entre otros.
Los cuatro campos principales que verás en casi cualquier manifiesto YAML de Kubernetes son estos
apiVersion especifica la versión de la API a la que pertenece el recurso. Ejemplos apps/v1 para Deployments y v1 para Pods y Services.
kind define el tipo de objeto que se crea como Pod, Deployment, Service, ReplicaSet o Ingress.
metadata aporta la identidad y metadatos del recurso. Incluye name obligatorio, namespace opcional cuyo valor por defecto es default, labels para selección y clasificación y annotations para información descriptiva utilizada por herramientas.
spec es la configuración del objeto y cambia según su tipo. En un Deployment define replicas, plantilla de Pod con contenedores imágenes puertos y límites de recursos, estrategia de actualización y selectores. En un Service define mapeos de puertos, selector para encontrar los Pods objetivo y el tipo de servicio como ClusterIP NodePort o LoadBalancer. En un Pod indica contenedores, volúmenes y la política de reinicio.
Ejemplo conceptual de un Deployment útil para entender la estructura replicas 2 con strategy RollingUpdate, selector por etiqueta app wordpress y una plantilla que define un contenedor wordpress latest exponiendo el puerto 80 con protocolo TCP. Esta configuración encaja con el patrón de despliegue continuo y escalado horizontal.
Para ponerlo en marcha basta con aplicar el manifiesto con kubectl apply -f tu-archivo.yaml desde tu terminal con acceso al clúster. Kubernetes reconciliará el estado deseado con el estado real y gestionará actualizaciones y rollbacks según tu estrategia de despliegue.
En Q2BSTUDIO impulsamos proyectos cloud nativos con Kubernetes y YAML, integrando desarrollo de aplicaciones a medida y software a medida con observabilidad, seguridad y automatización. Nuestro equipo combina inteligencia artificial e ia para empresas con agentes IA para orquestar procesos, ciberseguridad avanzada y pentesting, además de servicios cloud aws y azure, servicios inteligencia de negocio y analítica con power bi. Si estás valorando modernizar tu plataforma, nuestro equipo puede diseñar, construir y operar tu solución end to end.
Descubre cómo optimizar tus despliegues y escalar con buenas prácticas cloud en nuestro servicio de servicios cloud en AWS y Azure, y acelera el time to market con desarrollo de aplicaciones a medida listo para producción y preparado para Kubernetes.
Conclusión YAML es el formato preferido en la comunidad por su equilibrio entre simplicidad y expresividad, aunque JSON y HCL también son válidos. Elige el que mejor encaje con tus herramientas y flujo de trabajo, y mantén tus manifiestos versionados, validados y reutilizables para obtener despliegues predecibles y seguros.