Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
| info:cursos:pue:devops2022:s8 [07/03/2022 11:05] – mate | info:cursos:pue:devops2022:s8 [09/03/2022 07:28] (actual) – mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| - | = DevOps Sesión 8 (2022-03-07) | + | = DevOps Sesión 8 (2022-03-07) |
| == Documentación relacionada | == Documentación relacionada | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | |||
| == Clase | == Clase | ||
| === secretos | === secretos | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| * '' | * '' | ||
| * docker-registry | * docker-registry | ||
| Línia 23: | Línia 28: | ||
| </ | </ | ||
| === en volumenes | === en volumenes | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | |||
| * desplegar secretos usando volúmenes, al estilo SWARM | * desplegar secretos usando volúmenes, al estilo SWARM | ||
| * creamos secreto | * creamos secreto | ||
| Línia 39: | Línia 47: | ||
| === configmap | === configmap | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| * cambios de configuración en caliente (si la aplicación lo soporta) | * cambios de configuración en caliente (si la aplicación lo soporta) | ||
| * no encriptación, | * no encriptación, | ||
| * '' | * '' | ||
| ==== lab | ==== lab | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | |||
| <code bash> | <code bash> | ||
| kubectl get cm | kubectl get cm | ||
| Línia 54: | Línia 67: | ||
| </ | </ | ||
| ==== lab | ==== lab | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | |||
| * pasar un fichero de configuración a un POD | * pasar un fichero de configuración a un POD | ||
| * creamos el CM | * creamos el CM | ||
| Línia 70: | Línia 86: | ||
| === volúmenes | === volúmenes | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | |||
| * muchos tipos: | * muchos tipos: | ||
| * aws | * aws | ||
| Línia 82: | Línia 101: | ||
| * nfs: | * nfs: | ||
| * Para cualquiera de ellas en Kubernetes tendremos que crear: | * Para cualquiera de ellas en Kubernetes tendremos que crear: | ||
| - | * PersistentVolume | + | * PersistentVolume: Donde especificamos el volumen persistente |
| - | * PersistentVolumeClaim | + | * PersistentVolumeClaim: Donde reclamamos espacio en el volumen |
| * Modos de acceso: | * Modos de acceso: | ||
| - | * ReadWriteOnce | + | * ReadWriteOnce: read-write solo para un nodo (RWO) |
| - | * ReadOnlyMany | + | * ReadOnlyMany: read-only para muchos nodos (ROX) |
| - | * ReadWriteMany | + | * ReadWriteMany: read-write para muchos nodos (RWX) |
| * Políticas de reciclaje de volúmenes son son: | * Políticas de reciclaje de volúmenes son son: | ||
| - | * Retain | + | * Retain: Reclamación manual |
| - | * Recycle | + | * Recycle: Reutilizar contenido |
| - | * Delete | + | * Delete: Borrar contenido |
| * Estados de un volumen: | * Estados de un volumen: | ||
| - | * Available | + | * Available: disponible para reclamación |
| - | * Bound - No disponible, se esta utilizando por una reclamación. | + | * Bound: No disponible, se esta utilizando por una reclamación. |
| - | * Released | + | * Released: La reclamación del volumen se a eliminado y esta esperando otra petición del cluster. |
| - | * Failed | + | * Failed: En estado de fallo. |
| ==== lab | ==== lab | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | |||
| * <code bash> | * <code bash> | ||
| kubectl get pod | kubectl get pod | ||
| Línia 111: | Línia 133: | ||
| ==== lab | ==== lab | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | |||
| * en este caso se usa **affinity** (más sencillo con **nodeSelector** o **nodeName**) | * en este caso se usa **affinity** (más sencillo con **nodeSelector** o **nodeName**) | ||
| * <code bash> | * <code bash> | ||
| Línia 130: | Línia 155: | ||
| ==== lab | ==== lab | ||
| + | <callout type=" | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| * 2-Despliegue de Aplicaciones Kubernetes/ | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| - | * 2-Despliegue de Aplicaciones Kubernetes/ | + | * 2-Despliegue de Aplicaciones Kubernetes/ |
| + | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| * instalar NFS en master:< | * instalar NFS en master:< | ||
| sudo mkdir /bd-nfs | sudo mkdir /bd-nfs | ||
| Línia 144: | Línia 173: | ||
| sudo systemctl status nfs-kernel-server | sudo systemctl status nfs-kernel-server | ||
| sudo systemctl enable nfs-kernel-server</ | sudo systemctl enable nfs-kernel-server</ | ||
| + | * <code bash> | ||
| + | kubectl get pv,pvc | ||
| + | kubectl apply -f / | ||
| + | kubectl describe pod mysql-storage-nfs-... | ||
| + | kubectl exec -ti mysql-storage-nfs-... -- bash | ||
| + | # df -h | ||
| + | </ | ||
| + | * para controlar realmente el espacio usado, hay que usar un storageClass | ||
| + | * los PersistentVolume se crean dinámicamente | ||
| + | * '' | ||
| + | * '' | ||
| === k0sctl | === k0sctl | ||
| + | <callout type=" | ||
| + | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | * 2-Despliegue de Aplicaciones Kubernetes/ | ||
| + | </ | ||
| + | * https:// | ||
| + | * Lens (portainer para k8s) | ||
| + | |||
| === extra | === extra | ||
| * '' | * '' | ||
| Línia 155: | Línia 202: | ||
| * [[https:// | * [[https:// | ||
| - | == TODO | + | |
| - | <callout type=" | + | |