Sobes.tech
Junior

Kubernetes'ta secrets ve configmaps arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Secrets, hassas bilgiler, şifreler, API anahtarları, sertifikalar gibi bilgileri saklamak için kullanılır. Varsayılan olarak base64 ile kodlanmıştır (bu, veri dinlenirken şifreleme değil, sadece kodlama anlamına gelir) ve Kubernetes tarafından daha yüksek bir güvenlik seviyesiyle işlenir (örneğin, doğrudan loglarda gösterilmezler).

ConfigMaps, uygulamaların hassas olmayan yapılandırma bilgilerini saklamak için kullanılır, örneğin servis URL'leri, günlükleme ayarları, yapılandırma dosyaları. Anahtar-değer çiftleri veya tam dosyalar olarak saklanırlar. ConfigMaps, ek bir veri koruması sağlamaz.

Parametre Secrets ConfigMaps
Amacı Hassas bilgilerin saklanması Hassas olmayan yapılandırmanın saklanması
Kodlama base64 (varsayılan) Yok
Güvenlik Artırılmış (loglarda gösterilmez, vb.) Spesifik güvenlik önlemleri yok
Veri örnekleri Parolalar, tokenlar, anahtarlar, sertifikalar Ortam değişkenleri, yapılandırma dosyaları

Her iki nesne de podlara dosya veya ortam değişkenleri olarak monte edilebilir.

# Bir secret'ın ortam değişkeni olarak montajı örneği
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 dosya olarak montajı örneği
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