Qué es un archivo YAML en Kubernetes


Explicamos qué es un archivo YAML en Kubernetes y como se crean

oscar Escrito por oscar 24 July 2025 495 0

🧾 ¿Qué es un archivo YAML?

YAML (YAML Ain’t Markup Language) es un formato de texto plano utilizado para definir estructuras de datos de forma legible para los humanos.

En Kubernetes, los archivos YAML se usan para describir recursos del clúster como Pods, Services, Deployments, ConfigMaps, Secrets, Volumes, etc.

🧠 ¿Para qué se usan en Kubernetes?

Se usan para declarar el estado deseado del sistema. Tú defines en un archivo YAML lo que quieres (por ejemplo, 3 réplicas de una app corriendo Nginx) y Kubernetes se encarga de crear y mantener ese estado.

📁 ¿Dónde se crean?

Puedes crear archivos YAML:

Ejemplo:

Creamos un pod de nginx como se explica a detalle en crear primer pod.

kubectl run mi-nginx --image=nginx

Luego

kubectl get pod nginx -o yaml > pod-nginx.yaml

Esto creara un archivo pod-nginx.yaml con la estructura del yaml de kubernetes, este archivo lo explicaremos a continuación.

✅ Precondiciones para realizar el ejemplo

🧱 Estructura de un archivo YAML de Kubernetes

Un archivo YAML típico tiene esta estructura:

apiVersion: <versión del recurso>
kind: <tipo de recurso> # Pod, Deployment, Service, ConfigMap, etc.
metadata:
  name: <nombre-del-recurso>
  labels:
    <clave>: <valor>
spec:
  <especificación-del-recurso>

🔍 ¿Qué significa cada parte?

Campo Explicación
apiVersion Versión de la API de Kubernetes. v1 para objetos básicos.
kind Tipo de objeto. En este caso: Pod.
metadata.name Nombre único del pod.
labels Etiquetas para identificar y seleccionar este pod.
spec Especificaciones del pod.
containers Lista de contenedores dentro del pod (puede haber más de uno).
image Imagen del contenedor (se descargará desde Docker Hub).
containerPort Puerto que el contenedor expondrá internamente.

🧩 Buenas prácticas con YAML

💡 Tip: Comando para aplicar YAML

kubectl apply -f archivo.yaml

Puedes aplicar un solo archivo o un directorio con varios:

kubectl apply -f ./manifests/

Comentario

Debe aceptar antes de enviar