Junior
Wat is een ConfigMap in Kubernetes?
sobes.tech AI
Antwoord van AI
ConfigMap is een API-object dat wordt gebruikt om niet-gevoelige gegevens op te slaan in sleutel-waardeparen in Kubernetes. Het maakt het mogelijk om de applicatieconfiguratie te scheiden van de containerafbeelding, waardoor applicaties draagbaarder worden en het beheer van de configuratie wordt vereenvoudigd.
De gegevens in een ConfigMap kunnen op de volgende manieren worden gebruikt:
- Als omgevingsvariabelen in de container.
- Als opdrachtregelargumenten voor de container.
- Als bestanden in een volume dat in de Pod is gemonteerd.
Voorbeeld van het maken van een ConfigMap uit een bestand:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
data:
my-config-file.properties: |
database.url=jdbc:mysql://localhost:3306/mydatabase
database.username=mydbuser
database.password=secret
Gebruik van de ConfigMap in een Pod via omgevingsvariabelen:
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-app
image: my-app-image
env:
- name: DATABASE_URL
valueFrom:
configMapKeyRef:
name: my-config
key: database.url
- name: DATABASE_USERNAME
valueFrom:
configMapKeyRef:
name: my-config
key: database.username
Gebruik van de ConfigMap in een Pod door te monteren als bestand:
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-app
image: my-app-image
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: my-config
Belangrijke kenmerken:
- Wordt gebruikt voor niet-gevoelige gegevens. Voor gevoelige gegevens moeten Secrets worden gebruikt.
- Maakt het mogelijk om de configuratie dynamisch bij te werken zonder de afbeelding opnieuw te bouwen.
- De gegevens in een ConfigMap zijn beperkt in grootte (standaard 1 MB).
- Sommige wijzigingen in een ConfigMap kunnen een herstart van de Pod vereisen om van kracht te worden, afhankelijk van de gebruiksmethode (omgevingsvariabelen vereisen een herstart, montage als bestand kan dynamisch zijn).