meta data de esta página
  •  

Diferencias

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

Enlace a la vista de comparación

Próxima revisión
Revisión previa
virtualizacion:kubernetes:manifiesto [2020/10/19 23:55] – creado lcvirtualizacion:kubernetes:manifiesto [2023/01/18 14:37] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 ===== Manifiestos ===== ===== Manifiestos =====
-Un manifiesto no es más que un archivo d etexto en formato yaml, en el que entre otras cosas describimos como se deben crear los pods.+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: 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    * Es entorno es facilmente reproducible en cualquier cluster de kubernetes 
   * Automatiza y simplifica el despliegue cuando tengamos miles de pods   * 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>