Kubernetes-də secrets və configmaps arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Gizliliklər şifrəli məlumatların, məsələn, şifrələr, API açarları, sertifikatlar kimi məlumatların saxlanması üçün istifadə olunur. Onlar standart olaraq base64 ilə kodlanır (bu, məlumatların istirahətdə şifrələnməsi deyil, sadəcə kodlaşdırılmasıdır) və Kubernetes tərəfindən daha yüksək təhlükəsizlik səviyyəsi ilə idarə olunur (məsələn, birbaşa loglarda göstərilmir).
ConfigMaps tətbiqlərin şifrəsiz konfiqurasiya məlumatlarının saxlanması üçün istifadə olunur, məsələn, xidmət URL-ləri, qeydiyyat parametrləri, konfiqurasiya faylları. Onlar açar-dəyər cütləri və ya tam fayllar şəklində saxlanılır. ConfigMaps məlumatların əlavə qorunmasını nəzərdə tutmur.
| Parametr | Secrets | ConfigMaps |
|---|---|---|
| Təyinat | Həssas məlumatların saxlanması | Həssas olmayan konfiqurasiya saxlanması |
| Kodlaşdırma | base64 (standart) | Yox |
| Təhlükəsizlik | Yüksək (loglarda göstərilmir və s.) | Xüsusi təhlükəsizlik tədbirləri yoxdur |
| Nümunə məlumatlar | Şifrələr, tokenlər, açarlar, sertifikatlar | Ətraf mühit dəyişənləri, konfiqurasiya faylları |
Hər iki obyekt podlara fayl və ya ətraf mühit dəyişənləri kimi montaj edilə bilər.
# Secret-in ətraf mühit dəyişəni kimi montaj nümunəsi
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-in fayl kimi montaj nümunəsi
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