CodeBlanks Logo Icon CodeBlanks

Özet - Secret

YAML ve bağlamayı birleştirerek hassas veriyi güvenli kullanırsın.

Özet: Secret

Bu grupta:

  • Secret gizli verileri tutar; değerler base64'tür, şifreli değildir. Git'e konmaz, RBAC ve etcd şifrelemesiyle korunur.
  • Türler: Opaque, kubernetes.io/tls, dockerconfigjson (imagePullSecrets).
  • YAML'da stringData düz metin kabul eder; echo -n satır sonunu önler.
  • Kullanım: secretKeyRef/secretRef ya da secret.secretName volume'ü (defaultMode).
  • Döndürme: --dry-run=client -o yaml | kubectl apply -f - ve rollout restart.
kubectl create secret generic db-gizli --from-file=DB_PASSWORD=./parola.txt
kubectl get secret db-gizli -o jsonpath='{.data.DB_PASSWORD}' | base64 -d

Uygulama TLS secret'ını bağla

Bir pod'un spec bölümünü yaz (spec: ile başlayarak): volumes altında web-tls Secret'ından defaultMode: 0400 ile tls volume'ü; container adı nginx, image nginx:1.27; tls'yi /etc/tls'ye readOnly: true ile bağla.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
spec:
  volumes:
    - name: tls
      secret:
        secretName: web-tls
        defaultMode: 0400
  containers:
    - name: nginx
      image: nginx:1.27
      volumeMounts:
        - name: tls
          mountPath: /etc/tls
          readOnly: true

Beklenen çıktı

pod/web configured
$ kubectl exec web -- ls /etc/tls
tls.crt
tls.key

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Secret YAML'ını Git deposunda güvenle tutmak için hangisi kullanılır?

  • type: Opaque yazmak
  • Sealed Secrets ya da External Secrets gibi bir araç Doğru cevap
  • base64 ile bir kez daha kodlamak
  • stringData kullanmak

Açıklama: Sealed Secrets yalnızca cluster'ın çözebildiği şifreli bir nesne üretir.

2 Secret'ı volume olarak bağla.

Soru
      volumes:
        - name: tls
          secret:
            ____: web-tls
Cevap
      volumes:
        - name: tls
          secret:
            secretName: web-tls

Açıklama: Secret volume'ünde secretName kullanılır.

3 Eşleştir.

Kavram Anlamı
Secret Gizli
ConfigMap Gizli değil
base64 -d Değeri çöz
imagePullSecrets Özel registry

Orta seviye bölümündeki tüm dersler