Sobes.tech
Junior

Фарқи байни 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