Peta dunia

 

EN: Read in English

Dunia K4: Nota, Loker & Pakej

Loker: PV dan PVC

Anda akan belajar: minta storan dengan PVC, supaya data kekal walaupun pod yang menulisnya hilang.

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
Juruwang tulis satu pesanan dalam /tmp di dalam bekasnya. Pod diganti. cat kata: No such file or directory. Output terminal: $ kubectl exec cashier -- sh -c 'echo nasi lemak x2 >> /tmp/orders.txt' $ kubectl delete pod cashier pod "cashier" deleted from default namespace $ kubectl apply -f cashier.yaml pod/cashier created $ kubectl wait --for=condition=Ready pod/cashier --timeout=60s pod/cashier condition met $ kubectl exec cashier -- cat /tmp/orders.txt cat: can't open '/tmp/orders.txt': No such file or directory command terminated with exit code 1

Juruwang simpan pesanan hari ini di dalam bekasnya. Pod itu diganti. Semua pesanan hilang. Anda perlukan loker yang kekal.

Tengok

Tekan baris yang sebut saiz loker.

0 daripada 1 dijumpai

Anda isi slip minta loker. Slip itu ialah PersistentVolumeClaim (PVC): Slip minta loker, contohnya "saya perlu 1Gi". Kubernetes cari atau buat PV untuknya. (PVC). Ia sebut saiz, dan berapa ramai boleh guna.

Teka

Anda apply claim itu. kubectl get pvc kata Pending. Kenapa?

Pilih satu jawapan.

Cuba

Apply claim, kemudian pod juruwang yang guna claim itu. Semak claim sekali lagi.

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)

Tengok

Anda di sini: kluster kind-dev namespace default
get pvc tunjuk orders Bound kepada volume bernama pvc- dan id panjang. get pv tunjuk volume itu, 1Gi, RWO, dituntut oleh default/orders. Output terminal: $ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE orders Bound pvc-14148d20-7191-41bd-b0ee-9b62e9454543 1Gi RWO standard <unset> 14s $ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE pvc-14148d20-7191-41bd-b0ee-9b62e9454543 1Gi RWO Delete Bound default/orders standard <unset> 14s

Slip itu kini Bound kepada PersistentVolume (PV): Loker sebenar di stor: storan yang kekal walaupun pod hilang. (PV): loker sebenar. Tiada siapa bina dengan tangan. Pelajaran seterusnya tunjuk siapa yang bina.

Cuba

Juruwang sudah tulis pesanan dalam loker. Ganti pod itu. Kemudian baca pesanan.

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

Tiada dulang di sini.

dev-workerBuka
  • cashier
dev-worker2Buka

Tiada dulang di sini.

Masa: +0s (dipercepat)

Semak

PV atau PVC? Asingkan setiap satu.

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

      Anda berjaya!

      Kini anda boleh simpan data dalam loker yang kekal walaupun pod hilang.

      Nak tahu lebih (pilihan)

      Hati-hati: class standard dalam kind ada reclaimPolicy: Delete. Padam claim, dan PV serta datanya turut hilang. Guna Retain untuk data yang mesti disimpan. Selagi pod guna claim itu, pemadaman akan menunggu. Claim tunjuk Terminating sehingga pod itu hilang.

      Latihan sebenar (pilihan), pada kluster kind untuk latihan:

      Misi sebenar

      1. kubectl apply -f claim.yaml
      2. kubectl apply -f cashier.yaml
      3. kubectl get pvc,pv
      4. kubectl exec cashier -- sh -c 'echo teh tarik >> /data/orders.txt'
      5. kubectl delete -f cashier.yaml -f claim.yaml

      0 daripada 6 langkah siap · Tanda anda disimpan.