Sobes.tech
Junior

Wat is het verschil tussen secrets en configmaps in Kubernetes?

sobes.tech AI

Antwoord van AI

Secrets worden gebruikt voor het opslaan van gevoelige informatie, zoals wachtwoorden, API-sleutels, certificaten. Ze zijn standaard gecodeerd in base64 (hoewel dit geen gegevensversleuteling in rust is, maar slechts codering) en worden door Kubernetes met een hoger beveiligingsniveau verwerkt (bijvoorbeeld, worden ze niet direct weergegeven in logs).

ConfigMaps worden gebruikt voor het opslaan van niet-gevoelige configuratie-informatie van applicaties, zoals service-URL's, loginstellingen, configuratiebestanden. Ze worden opgeslagen als sleutel-waarde paren of als volledige bestanden. ConfigMaps impliceren geen extra gegevensbescherming.

Parameter Secrets ConfigMaps
Doel Opslag van gevoelige informatie Opslag van niet-gevoelige configuratie
Codering base64 (standaard) Geen
Beveiliging Verhoogd (niet weergegeven in logs, etc.) Geen specifieke beveiligingsmaatregelen
Voorbeelden van gegevens Wachtwoorden, tokens, sleutels, certificaten Omgevingsvariabelen, configuratiebestanden

Beide objecten kunnen worden gemonteerd in pods als bestanden of omgevingsvariabelen.

# Voorbeeld van het monteren van een secret als omgevingsvariabele
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: my-image
    env:
    - name: DB_PASSWORD
      valueFrom:
        secretKeyRef:
          name: my-db-secret
          key: password
# Voorbeeld van het monteren van een ConfigMap als bestand
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: my-image
    volumeMounts:
    - name: config-volume
      mountPath: /etc/config
  volumes:
  - name: config-volume
    configMap:
      name: my-app-config