Фарқи байни secrets ва configmaps дар Kubernetes чист?
sobes.tech AI
Ҷавоб аз AI
Secrets барои нигоҳ доштани маълумоти ҳассос, ба монанди паролҳо, калидҳои API, сертификатҳо истифода мешаванд. Онҳо ба таври пешфарз дар base64 кодгузорӣ шудаанд (гарчанде ин шифркунии дар ҳолати оромӣ нест, балки танҳо кодгирӣ аст) ва Kubernetes бо сатҳи баланди бехатарӣ (масалан, дар логҳо бевосита намоён намешаванд) онҳоро идора мекунад.
ConfigMaps барои нигоҳ доштани маълумоти конфигуратсияи ғайриҳассосии барномаҳо истифода мешаванд, масалан, URL-ҳои хизматрасонӣ, танзимоти логгирӣ, файлҳои конфигуратсия. Онҳо ҳамчун ҷуфтҳои калид-арзиш ё ҳамчун файлҳои пурра нигоҳ дошта мешаванд. ConfigMaps ҳифзи иловагии маълумотро пешбинӣ намекунанд.
| Параметр | Secrets | ConfigMaps |
|---|---|---|
| Нақша | нигоҳдории маълумоти ҳассосӣ | нигоҳдории конфигуратсияи ғайриҳассосӣ |
| Кодгирӣ | base64 (аз пешфарз) | Надорад |
| Бехатарӣ | баланд (дар логҳо намоён намешавад ва ғ.) | Қадами махсуси бехатарӣ нест |
| Масаланҳо | Паролҳо, токенҳо, калидҳо, сертификатҳо | Варақаҳои муҳит, файлҳои конфигуратсия |
Ҳарду объект метавонанд ҳамчун файлҳо ё тағйирёбандаҳои муҳит дар podҳо насб карда шаванд.
# Намунаи насб кардани сир дар шакли тағйирёбандаи муҳит
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 ҳамчун файл
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