Dia 21, con mi debilidad, los volumenes
- Crea un Pod multi-contenedor en namespace
exam-nsllamadomulti, con dos contenedores:- contenedor
appcon imagenbusyboxque ejecutasleep 3600 - contenedor
sidecarcon imagenbusyboxque también ejecutasleep 3600
Ambos contenedores deben compartir un volumenemptyDirmontado en/data.
- contenedor
En general es crear un solo contenedor, pero aparte debo generar un volumen.
Los volumenes son espacios de almacenamiento, pero necesita tene r una configuracion especial para compartirlo entre 2 contenedores. Y aparte necesito leer bien la sintaxis para generarlos.
apiVersion: v1
kind: Pod
metadata:
name: multi
namespace: exam-ns
spec:
containers:
- name: sidecar
image: busybox
command: ['sleep','3600']
volumeMounts:
- mountPath: /data
name: cache-volume
- name: app
image: busybox
command: ['sleep','3600']
volumeMounts:
- mountPath: /data
name: cache-volume
volumes:
- name: cache-volume
emptyDir:
sizeLimit: 500Mi
medium: Memory
Cosas que resaltar
Si no es persistente, el objeto va dentro de Spec:
Hay varios tipos de volumen por defecto, emptyDir es uno de los efimeros
Los otros relevantes como Local y PersistenVolumen se crean por separado y tienen modos de lectura. Varia segun el CustomResources
https://kubernetes.io/docs/concepts/storage/volumes
Montar el volumen en el contendor tiene que ver con ‘volumeMounts’ y ‘mountPath’ el resto resuelve solo. El uso tambien depende del tipo de volumen
Asi como los secretos y los configmap se pueden cargar como volumenes y usar como archivos (de solo lectura).