Sobes.tech
Junior

Mi a különbség a secrets és a configmaps között a Kubernetesben?

sobes.tech MI

Válasz az MI-től

A titkokat érzékeny információk, például jelszavak, API kulcsok, tanúsítványok tárolására használják. Alapértelmezés szerint base64 kódolva vannak (bár ez nem adattitkosítás nyugalmi állapotban, hanem egyszerű kódolás), és a Kubernetes magasabb biztonsági szinttel kezeli őket (például nem jelennek meg közvetlenül a naplókban).

A ConfigMap-ek nem érzékeny konfigurációs információk tárolására szolgálnak az alkalmazások számára, például szolgáltatás URL-ek, naplózási beállítások, konfigurációs fájlok. Kulcs-érték párok vagy teljes fájlok formájában tárolódnak. A ConfigMap-ek nem nyújtanak további adatvédelmet.

Paraméter Secrets ConfigMaps
Cél Érzékeny információk tárolása Érzéketlen konfigurációk tárolása
Kódolás base64 (alapértelmezett) Nincs
Biztonság Növelt (nem jelenik meg a naplókban, stb.) Nincs külön biztonsági intézkedés
Példák adatok Jelszavak, tokenek, kulcsok, tanúsítványok Környezeti változók, konfigurációs fájlok

Mindkét objektum beilleszthető a podokba fájlként vagy környezeti változóként.

# Titok környezeti változóként való beillesztésének példája
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
# ConfigMap fájlként való beillesztésének példája
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