Kem Intensif DevOps · Pelajaran

Jilid Kekal dan Tuntutan

Fahami cara menyediakan storan tahan lama kepada Pod menggunakan Jilid Kekal dan Tuntutan Jilid Kekal.

Pelajaran 3 daripada 412 langkah

Jilid Kekal dan Tuntutan ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Pod dan Data Sementara

Pod dicipta dan dihentikan, tetapi data aplikasi anda selalunya perlu terus kekal. Fikirkan tentang pangkalan data atau fail yang dimuat naik oleh pengguna.

  • Apabila Pod dimulakan semula atau dijadualkan semula, sebarang data yang disimpan secara terus dalam sistem fail kontenanya akan hilang.
  • Sifat sementara ini sesuai untuk aplikasi tanpa keadaan, tetapi data penting memerlukan penyelesaian yang tahan lama.
  • Kubernetes menyediakan sistem berkuasa untuk mengurus storan berterusan yang kekal sepanjang kitar hayat Pod.

PersistentVolume: Storan Kluster

PersistentVolume (PV) ialah sebahagian daripada storan dalam kluster Kubernetes anda.

  • Ia ialah sumber berlingkungan kluster, bermakna ia tidak dimiliki oleh mana-mana ruang nama tertentu.
  • PV diperuntukkan oleh pentadbir atau secara dinamik oleh StorageClass.
  • PV menyembunyikan butiran teknologi storan asas (contohnya, Google Persistent Disk, AWS EBS dan perkongsian NFS).

Mentakrifkan PersistentVolume

PV ditakrifkan dengan butiran seperti kapasiti, mod akses dan jenis storan. YAML ini menerangkan PV yang menggunakan hostPath (untuk ujian setempat) dengan storan sebanyak 5 Gigabait.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-local-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: "/mnt/data"

Nota: hostPath biasanya digunakan untuk pembangunan satu nod dan tidak disyorkan untuk persekitaran produksi.

PersistentVolumeClaim: Permintaan Pod

PersistentVolumeClaim (PVC) ialah permintaan storan oleh pengguna atau aplikasi dalam ruang nama tertentu.

  • Pod tidak menggunakan PV secara terus; sebaliknya, Pod meminta storan melalui PVC.
  • PVC berlingkungan ruang nama, jadi PVC berada dalam kawasan projek atau pasukan tertentu.
  • PVC menentukan saiz dan mod akses yang dikehendaki serta, secara pilihan, kelas storan.

PV dan PVC: Padanan Automatik

Kubernetes memadankan PVC dengan PV yang tersedia secara automatik melalui proses yang dipanggil pengikatan.

  • Apabila PVC dicipta, Kubernetes mencari PV yang memenuhi keperluan PVC (saiz, mod akses dan kelas storan).
  • Setelah PV yang sesuai ditemui, kedua-duanya "diikat" dalam hubungan satu dengan satu.
  • Pengikatan ini memastikan PVC mendapat storan khusus yang dimintanya.

Mod Akses untuk PV/PVC

Mod akses menentukan cara storan boleh dipasang dan digunakan oleh Pod. Mod ini diminta oleh PVC dan disokong oleh PV:

  • ReadWriteOnce (RWO): Jilid boleh dipasang sebagai baca-tulis oleh satu nod.
  • ReadOnlyMany (ROX): Jilid boleh dipasang sebagai baca sahaja oleh banyak nod.
  • ReadWriteMany (RWX): Jilid boleh dipasang sebagai baca-tulis oleh banyak nod.

Ketersediaan mod ini bergantung pada penyedia storan tertentu.

Kelas Storan untuk Automasi

StorageClass menyediakan cara untuk pentadbir menerangkan "kelas" storan (contohnya, "fast-ssd" dan "slow-hdd").

  • Daripada mencipta PV secara manual, StorageClass boleh memperuntukkan PV secara dinamik apabila PVC memintanya.
  • Kaedah ini mengautomatikkan penciptaan PV berdasarkan templat yang telah ditetapkan.
  • Kaedah ini mengasingkan peruntukan storan daripada penggunaannya, lalu memudahkan urusan pengguna.

Contoh Mencipta PVC

Mari kita cipta PVC yang meminta storan sebanyak 1 Gigabait dengan akses ReadWriteOnce. PVC ini akan mencari PV sedia ada atau mencetuskan peruntukan dinamik melalui StorageClass.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-app-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: standard # Optional: if you have a 'standard' StorageClass

Simpan ini sebagai pvc.yaml dan terapkan dengan kubectl apply -f pvc.yaml.

Menggunakan PVC dalam Pod

Setelah PVC diikat, Pod boleh menggunakannya dengan merujuk nama PVC dalam konfigurasi jilidnya. Pod tidak perlu mengetahui PV asas, sebaliknya hanya perlu mengetahui PVC.

apiVersion: v1
kind: Pod
metadata:
  name: my-data-pod
spec:
  containers:
    - name: data-container
      image: busybox
      command: ["/bin/sh", "-c", "echo 'Hello from CoddyKit!' > /mnt/data/hello.txt && sleep 3600"]
      volumeMounts:
        - name: persistent-storage
          mountPath: /mnt/data
  volumes:
    - name: persistent-storage
      persistentVolumeClaim:
        claimName: my-app-pvc

Pod ini akan menulis fail ke jilid berterusan yang dipasang.

Memantau PV dan PVC

Anda boleh memantau status sumber storan berterusan menggunakan kubectl:

  • Untuk melihat semua PV: kubectl get pv
  • Untuk melihat semua PVC dalam ruang nama anda: kubectl get pvc
  • Untuk mendapatkan maklumat terperinci, termasuk status dan peristiwa:
    • kubectl describe pv <pv-name>
    • kubectl describe pvc <pvc-name>

Pastikan PV anda berstatus Bound dan PVC anda berstatus Bound kepada PV yang betul.

Memahami PV berbanding PVC

Seorang pengguna ingin menggunakan pangkalan data yang memerlukan storan berterusan sebanyak 50GB. Sumber Kubernetes manakah yang mewakili permintaan storan ini secara terus daripada aplikasi pengguna?

Ringkasan Storan Berterusan

Kita telah mempelajari cara Kubernetes mengurus storan tahan lama untuk aplikasi anda:

  • PersistentVolumes (PV) ialah sumber kluster yang mewakili storan sebenar.
  • PersistentVolumeClaims (PVC) ialah permintaan pengguna untuk storan.
  • Kubernetes mengikat PVC kepada PV yang sesuai berdasarkan keperluan.
  • Mod Akses menentukan cara storan boleh digunakan (RWO, ROX dan RWX).
  • StorageClass membolehkan peruntukan PV secara dinamik serta mengautomatikkan persediaan.

Sistem ini memastikan data aplikasi anda kekal walaupun Pod datang dan pergi, lalu menyediakan kebolehpercayaan untuk aplikasi berkeadaan.

Percuma untuk bermula

Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “Jilid Kekal dan Tuntutan” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Jilid Kekal dan Tuntutan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Jilid Kekal dan Tuntutan”?

Fahami cara menyediakan storan tahan lama kepada Pod menggunakan Jilid Kekal dan Tuntutan Jilid Kekal. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Jilid Kekal dan Tuntutan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. ConfigMaps untuk Konfigurasi
  2. Rahsia untuk Data Sensitif
  3. Jilid Kekal dan Tuntutan
  4. StorageClasses dan Peruntukan Dinamik
← Kembali ke Kem Intensif DevOps