Peta dunia

 

EN: Read in English

Dunia K4: Nota, Loker & Pakej

Secret: base64 bukan kunci

Anda akan belajar: beri pod kata laluan dengan Secret, dan apa yang betul-betul menjaganya.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Kubernetes 1.37 pada 31 Okt 2026

Masalahnya

Anda di sini: kluster kind-dev namespace default
kubectl cipta Secret bernama till. YAML-nya tunjuk PASSWORD: c3VwM3ItcmFoc2lh. Output terminal: $ kubectl create secret generic till --from-literal=PASSWORD=sup3r-rahsia secret/till created $ kubectl get secret till -o yaml apiVersion: v1 data: PASSWORD: c3VwM3ItcmFoc2lh kind: Secret metadata: creationTimestamp: "2026-10-31T01:00:00Z" name: till namespace: default resourceVersion: "456" uid: 2ad88934-ca5e-4813-86f4-ed0c0fd91998 type: Opaque

Anda simpan kata laluan mesin kira dalam Secret: Kotak rempah berkunci untuk kata laluan dan token. Base64 tak sorok apa-apa, jadi hadkan siapa boleh baca. (kotak rempah berkunci). YAML-nya tulis c3VwM3ItcmFoc2lh. Nampak berselerak. Tapi selamatkah?

Tengok

bash
echo c3VwM3ItcmFoc2lh | base64 -d
sup3r-rahsia
echo teks berselerak itu ke base64 -d. Ia cetak sup3r-rahsia.

Satu arahan tukar ia balik. Itu base64: apa-apa data ditulis sebagai huruf biasa. Ia pelekat yang nampak macam kunci.

Teka

Siapa boleh baca kata laluan mesin kira sekarang?

Pilih satu jawapan.

Cuba

Buat Secret dan buka mesin kira. Kemudian semak kata laluannya.

Anda di sini: kluster kind-dev namespace default
Gerai: 3. Dulang: 0 (0 sedia). Menunggu gerai: 0.
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka

Tiada dulang di sini.

dev-worker2Buka

Tiada dulang di sini.

Masa: +0s (dipercepat)

Cuba

Rakan sepasukan tulis Secret ini sendiri. Apply gagal. Baiki ia.

Baiki manifest ini, kemudian tekan Apply.

secret.yaml8 baris

Tengok

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Kunci sebenar memang ada. Dengan encryption at rest (penyulitan semasa disimpan), API server kunci Secret sebelum menyimpannya. RBAC tentukan siapa boleh membacanya.

      Semak

      Tabiat baik atau tidak? Leret setiap satu.

      Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

      1 / 4

      Commit secret.yaml dengan kata laluan sebenar ke Git.

      Commit secret.yaml dengan kata laluan sebenar ke Git.

      Anda berjaya!

      Kini anda boleh beri pod kata laluan dengan Secret, secara selamat.

      Nak tahu lebih (pilihan)

      kubectl describe secret till tunjuk saiz, bukan nilai. Mount Secret sebagai fail, bukan env var. Env var boleh bocor dalam laporan crash. Kluster terurus selalunya sulitkan Secret dengan kunci awan (KMS). Pelajaran seterusnya: jauhkan Secret daripada Git.

      Latihan sebenar (pilihan), hanya pada kluster latihan. Guna kata laluan palsu:

      Misi sebenar

      1. kubectl config current-context
      2. kubectl create secret generic till --from-literal=PASSWORD=practice-only
      3. kubectl get secret till -o jsonpath={.data.PASSWORD}
      4. echo cHJhY3RpY2Utb25seQ== | base64 -d
      5. kubectl delete secret till

      0 daripada 5 langkah siap · Tanda anda disimpan.