meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
virtualizacion:kubernetes:manifiesto [2020/10/19 23:55] – creado lc | virtualizacion: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 | + | Un manifiesto no es más que un archivo |
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: | ||
+ | | ||
+ | name: contenedor1 | ||
+ | image: nginx: | ||
+ | </ | ||
+ | |||
+ | Para ejecutar el manifiesto que acabamos de crear | ||
+ | < | ||
+ | |||
+ | 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 | ||
+ | <sxh yaml> | ||
+ | apiVersion: v1 | ||
+ | kind: Pod | ||
+ | metadata: | ||
+ | name: elnombredemipod | ||
+ | spec: | ||
+ | | ||
+ | name: contenedor1 | ||
+ | image: nginx: | ||
+ | --- | ||
+ | apiVersion: v1 | ||
+ | kind: Pod | ||
+ | metadata: | ||
+ | name: elnombredemipod2 | ||
+ | spec: | ||
+ | | ||
+ | name: contenedor2 | ||
+ | image: nginx: | ||
+ | </ | ||
+ | ==== 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: | ||
+ | | ||
+ | name: contenedor1 | ||
+ | image: nginx: | ||
+ | --- | ||
+ | apiVersion: v1 | ||
+ | kind: Pod | ||
+ | metadata: | ||
+ | name: elnombredemipod2 | ||
+ | labels: | ||
+ | app: backend | ||
+ | env: pro | ||
+ | spec: | ||
+ | | ||
+ | name: contenedor2 | ||
+ | image: nginx: | ||
+ | </ | ||
+ | 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 | ||
+ | < |