ConfigMap Flashcards
Wat is een ConfigMap in Kubernetes?
Een ConfigMap is een Kubernetes-object waarmee je configuratie-instellingen kunt opslaan in de vorm van key-value paren. Het kan worden gebruikt om configuratie-instellingen naar containers in een pod te injecteren.
Hoe maak je een ConfigMap aan via YAML?
Je kunt een ConfigMap maken door het volgende YAML-bestand te gebruiken:
yaml
Code kopiëren
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
key1: value1
key2: value2
Hoe gebruik je een ConfigMap in een Pod?
Je kunt een ConfigMap in een pod gebruiken door deze te mounten als een volume of door een environment variable in te stellen.
yaml
Code kopiëren
envFrom:
- configMapRef:
name: my-configmap
Hoe maak je een ConfigMap vanuit een bestand?
Je kunt een ConfigMap maken vanuit een bestand met het volgende commando:
bash
Code kopiëren
kubectl create configmap my-configmap –from-file=/path/to/config/file
k apply -f config,yaml
Hoe gebruik je een specifieke sleutel van een ConfigMap als een environment variable in een container?
Je kunt een specifieke sleutel van een ConfigMap als environment variable gebruiken:
yaml
Code kopiëren
env:
- name: MY_KEY
valueFrom:
configMapKeyRef:
name: my-configmap
key: key1
Hoe geef je een ConfigMap een namespace?
Je kunt een ConfigMap een namespace geven door de metadata.namespace te specificeren:
yaml
Code kopiëren
metadata:
name: my-configmap
namespace: my-namespace
Hoe mount je een ConfigMap als volume in een pod?
Je kunt een ConfigMap als volume mounten:
yaml
Code kopiëren
volumes:
- name: config-volume
configMap:
name: my-configmap
containers:
- name: my-container
image: nginx
volumeMounts:
- name: config-volume
mountPath: /etc/config
namen moeten hetzelfde zijn
Hoe kun je een ConfigMap direct in een Pod gebruiken zonder deze expliciet te definiëren?
Je kunt een ConfigMap automatisch in een pod gebruiken met envFrom:
yaml
Code kopiëren
envFrom:
- configMapRef:
name: my-configmap
Wat gebeurt er als de ConfigMap wordt bijgewerkt terwijl een pod draait?
Als de ConfigMap wordt gewijzigd, zullen de pods die deze ConfigMap als volume of environment variable gebruiken de nieuwe waarden gebruiken zonder de pod opnieuw te creëren, afhankelijk van de configuratie.
Hoe voeg je een ConfigMap toe aan een Deployment?
Je voegt een ConfigMap toe aan een Deployment door de configuratie in de container-specificatie op te nemen, bijvoorbeeld als een environment variable of als volume:
yaml
Code kopiëren
envFrom:
- configMapRef:
name: my-configmap
Hoe controleer je de inhoud van een ConfigMap?
kubectl describe configmap <configmap-name></configmap-name>
Kun je een ConfigMap in een Pod gebruiken zonder dat deze opnieuw wordt uitgerold?
Ja, als de ConfigMap wordt gemount als volume, kan de inhoud worden vernieuwd zonder dat de pod opnieuw wordt uitgerold. Als de ConfigMap wordt gebruikt als environment variable, moet de pod worden herstart om de nieuwe waarden op te nemen.
Kun je een ConfigMap gebruiken in een StatefulSet?
Ja, je kunt een ConfigMap gebruiken in een StatefulSet op dezelfde manier als in een gewone pod, door de ConfigMap te mounten als volume of als environment variable.
Wat is het verschil tussen een ConfigMap en een Secret?
Een ConfigMap is voor het opslaan van niet-gevoelige configuratiegegevens, terwijl een Secret wordt gebruikt voor het opslaan van gevoelige gegevens, zoals wachtwoorden of API-sleutels.
Hoe gebruik je meerdere sleutels uit een ConfigMap in een container?
Je kunt meerdere sleutels uit een ConfigMap gebruiken door meerdere environment variables in de container te definiëren:
env:
- name: KEY1
valueFrom:
configMapKeyRef:
name: my-configmap
key: key1
- name: KEY2
valueFrom:
configMapKeyRef:
name: my-configmap
key: key2