meta data de esta página
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:
- Es entorno es facilmente reproducible en cualquier cluster de kubernetes
- Automatiza y simplifica el despliegue cuando tengamos miles de pods
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: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