Tabla de Contenidos

Manifiestos

Un manifiesto no es más que un archivo de texto en formato yaml, en el que entre otras cosas describimos como se deben crear los pods.

El crear u manifiesto en vez de ejecutar los comandos manualmente en la línea de comandos tienes dos grandes ventajas:

Ejemplo de un manifiesto de creación de un pod

apiVersion: v1
kind: Pod
metadata:
   name: elnombredemipod
spec:
   containers:
      name: contenedor1
      image: nginx:alpine

Para ejecutar el manifiesto que acabamos de crear

kubectl apply -f fichero.yaml 

En el mismo manifiesto podríamos crear por ejemplo más pods, bastaría con añadir al final una linea con tres rayas (—) y en la línea siguiente volver a describir un pod

apiVersion: v1
kind: Pod
metadata:
   name: elnombredemipod
spec:
   containers:
      name: contenedor1
      image: nginx:alpine
 ---
apiVersion: v1
kind: Pod
metadata:
   name: elnombredemipod2
spec:
   containers:
      name: contenedor2
      image: nginx:alpine

Label

dentro del manifiesto podemos crear un tipo de metadata, llamado label al que le podemos asignar una etiqueta que posteriormente nos permita identificar ese pod . usando el ejemplo anterior

apiVersion: v1
kind: Pod
metadata:
   name: elnombredemipod
spec:
   containers:
      name: contenedor1
      image: nginx:alpine
 ---
apiVersion: v1
kind: Pod
metadata:
      name: elnombredemipod2
      labels:
        app: backend
        env: pro
spec:
   containers:
      name: contenedor2
      image: nginx:alpine
En este manifiesto he añadido dos label,(app, env) una indicando que se trata de una app de backend y otra indicando que es un entorno de producción

Si ahora queremos buscar los pods que estén etiquetados como de producción en nuestro entorno

kubectl get pods -l env:pro