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

<sxh yaml> apiVersion: v1 kind: Pod metadata:

 name: elnombredemipod

spec:

 containers:
    name: contenedor1
    image: nginx:alpine

</sxh>

Para ejecutar el manifiesto que acabamos de crear <sxh>kubectl apply -f fichero.yaml </sxh>

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 <sxh yaml> 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

</sxh>

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 <sxh yaml> 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

</sxh> 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 <sxh>kubectl get pods -l env:pro</sxh>