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