Sobes.tech
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).