meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
virtualizacion:kubernetes:manifiesto [192020/10/ 23:13] – [Ejemplo de un manifiesto de creación de un pod] lcvirtualizacion:kubernetes:manifiesto [182023/01/ 13:37] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +===== 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 ====
 +<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>