Sobes.tech
Junior

Jaký je rozdíl mezi secrets a configmaps v Kubernetes?

sobes.tech AI

Odpověď od AI

Secrets se používají k ukládání citlivých informací, jako jsou hesla, API klíče, certifikáty. Výchozí kódování je base64 (ačkoliv to není šifrování v klidu, ale pouze kódování) a Kubernetes je spravuje na vyšší úrovni bezpečnosti (například se nezobrazují přímo v logech).

ConfigMaps jsou určeny k ukládání nekritických konfiguračních informací aplikací, jako jsou URL služby, nastavení logování, konfigurační soubory. Ukládají se ve formě párů klíč-hodnota nebo jako celé soubory. ConfigMaps nezaručují žádnou dodatečnou ochranu dat.

Parametr Secrets ConfigMaps
Účel Ukládání citlivých informací Ukládání nekritických konfigurací
Kódování base64 (výchozí) Žádné
Bezpečnost Zvýšená (neukazují se přímo v logech, atd.) Žádná speciální bezpečnostní opatření
Příklady dat Hesla, tokeny, klíče, certifikáty Proměnné prostředí, konfigurační soubory

Oba objekty lze připojit k podům jako soubory nebo proměnné prostředí.

# Příklad připojení tajného klíče jako proměnné prostředí
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
# Příklad připojení ConfigMap jako souboru
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