Sobes.tech
Junior

Aký je rozdiel medzi secrets a configmaps v Kubernetes?

sobes.tech AI

Odpoveď od AI

Secrets sa používajú na ukladanie citlivých informácií, ako sú heslá, API kľúče, certifikáty. Sú kódované v base64 predvolene (hoci to nie je šifrovanie v pokoji, ale len kódovanie) a spravuje ich Kubernetes s vyššou úrovňou bezpečnosti (napríklad, nie sú priamo zobrazované v logoch).

ConfigMaps sa používajú na ukladanie nekritických konfiguračných informácií aplikácií, ako sú URL služby, nastavenia logovania, konfiguračné súbory. Sú uložené vo forme párov kľúč-hodnota alebo ako celé súbory. ConfigMaps nepredpokladajú žiadnu dodatočnú ochranu dát.

Parameter Secrets ConfigMaps
Účel Ukladanie citlivých informácií Ukladanie nekritických konfigurácií
Kódovanie base64 (predvolené) Žiadne
Bezpečnosť Zvýšená (neukazujú sa v logoch, atď.) Nemajú špeciálne bezpečnostné opatrenia
Príklady dát Heslá, tokeny, kľúče, certifikáty Premenné prostredia, konfiguračné súbory

Oba objekty môžu byť pripojené k podom ako súbory alebo premenné prostredia.

# Príklad pripojenia tajného kľúča ako premennej prostredia
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
# Príklad pripojenia ConfigMap ako súboru
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