Configmaps
Los configmaps en Kubernetes son un recurso que permite almacenar configuraciones y datos en forma de pares clave-valor. Los configmaps pueden ser utilizados por los pods para configurar aplicaciones y componentes de forma dinámica.
Comandos generales
Crear un configmap
Para crear un configmap en Kubernetes, podemos utilizar el comando kubectl create configmap
. Por ejemplo, para crear un configmap con la configuración de un archivo config.properties
, podemos ejecutar el siguiente comando:
kubectl create configmap mi-config --from-literal=key1=value1
También podemos crear un configmap a partir de un archivo con los pares de clave-valor. Por ejemplo, para crear un configmap a partir del archivo config.properties
, podemos ejecutar el siguiente comando:
kubectl create configmap mi-config --from-file=config.properties
Ver configmaps
Para ver los configmaps en un clúster de Kubernetes, podemos utilizar el comando kubectl get configmaps
:
kubectl get configmaps
Para ver los detalles de un configmap en particular, podemos utilizar el comando kubectl describe configmap <nombre_del_configmap>
:
kubectl describe configmap mi-config
Eliminar un configmap
Para eliminar un configmap, podemos utilizar el comando kubectl delete configmap <nombre_del_configmap>
:
kubectl delete configmap mi-config
Aplicar mediante manifiesto
También podemos crear un configmap utilizando un manifiesto en formato YAML o JSON. Para ello, creamos un manifiesto con la definición del configmap y luego lo aplicamos con el comando kubectl apply -f <archivo_de_configuracion>
.
kubectl apply -f Kubernetes/manifests/mi-configmap.yaml
Montar un configmap en un pod
Un configmap puede ser montado como un volumen en un pod para que las aplicaciones puedan acceder a la configuración almacenada. Para montar un configmap en un pod, podemos utilizar la siguiente definición en el manifiesto del pod:
apiVersion: v1
kind: Pod
metadata:
name: mi-pod
spec:
containers:
- name: mi-contenedor
image: alpine:latest
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: mi-config
En este ejemplo, el configmap mi-config
se monta en el directorio /etc/config
del contenedor mi-contenedor
del pod mi-pod
. Por cada clave-valor en el configmap, se crea un archivo con el nombre de la clave y el valor como contenido.