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:
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
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:alpineEn 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