Manajemen penyimpanan Kube di perangkat Azure Stack Edge Pro GPU Anda
BERLAKU UNTUK: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Pada perangkat Azure Stack Edge Pro Anda, kluster Kube dibuat saat Anda mengonfigurasi peran komputasi. Setelah kluster Kube dibuat, Anda dapat menyebarkan aplikasi dalam kontainer pada kluster Kube di pod. Ada beberapa cara berbeda untuk menyediakan penyimpanan pada pod di kluster Kube Anda.
Artikel ini menjelaskan metode untuk memprovisikan penyimpanan pada kluster Kube secara umum dan secara khusus dalam konteks perangkat Azure Stack Edge Pro Anda.
Persyaratan penyimpanan untuk pod Kube
Pod Kube itu stateless tetapi aplikasi yang dijalankannya biasanya stateful. Karena pod dapat berumur pendek, dan mereka memulai ulang, gagal, atau berpindah antar node Kube, persyaratan berikut harus dipenuhi untuk penyimpanan yang berkaitan dengan pod.
Penyimpanan harus:
- Aktif di luar pod.
- Independen dari siklus hidup pod.
- Dapat diakses dari semua node Kube.
Untuk memahami bagaimana penyimpanan dikelola untuk Kube, ada dua sumber daya API yang perlu dipahami:
PersistentVolume (PV): Ini adalah sebuah penyimpanan di kluster Kube. Penyimpanan Kube dapat diprovisikan secara statis sebagai
PersistentVolume
. Penyimpanan ini juga dapat diprovisikan secara dinamis sebagaiStorageClass
.PersistentVolumeClaim (PVC): Ini adalah permintaan penyimpanan oleh seorang pengguna. PVC mengonsumsi sumber daya PV. PVC dapat meminta ukuran dan mode akses tertentu.
Karena pengguna membutuhkan
PersistentVolumes
dengan berbagai properti untuk beragam masalah yang berbeda, maka admin kluster harus dapat menawarkan berbagaiPersistentVolumes
yang berbeda tidak hanya dari segi ukuran dan mode aksesnya. Untuk keperluan ini, Anda memerlukan sumber dayaStorageClass
.
Provisi penyimpanan bisa statis atau dinamis. Tiap-tiap jenis provisi dibahas di bagian berikut ini.
Provisi statis
Admin klaster Kubernetes dapat menyediakan penyimpanan secara statis. Untuk melakukannya, mereka dapat menggunakan backend penyimpanan berdasarkan SMB/NFS filesystem atau menggunakan disk iSCSI yang terlampir secara lokal melalui jaringan di lingkungan lokal, atau bahkan menggunakan Azure Files atau Azure Disks di cloud. Jenis penyimpanan ini tidak diprovisikan secara default dan admin kluster harus merencanakan dan mengelola provisi ini.
Berikut adalah diagram yang menggambarkan bagaimana penyimpanan yang diprovisikan secara statis dikonsumsi di Kube:
Lakukan langkah-langkah berikut:
Provisi penyimpanan: Admin kluster memprovisikan penyimpanan. Dalam contoh ini, admin kluster membuat satu atau lebih berbagi SMB yang secara otomatis membuat objek volume persisten di kluster Kube yang berkaitan dengan berbagi tersebut.
Klaim penyimpanan: Anda mengirimkan penyebaran PVC yang meminta penyimpanan. Klaim penyimpanan ini adalah PersistentVolumeClaim (PVC). Jika ukuran dan mode akses PV cocok dengan PVC, maka PVC akan terikat ke PV. PVC dan PV memetakan satu-ke-satu.
Pasang PVC ke kontainer: Setelah PVC terikat ke PV, Anda dapat memasang PVC ini ke satu jalur dalam kontainer Anda. Ketika logika aplikasi dalam kontainer membaca/menulis dari/ke jalur ini, data tersebut ditulis ke dalam penyimpanan SMB.
Provisi dinamis
Berikut adalah diagram yang menggambarkan bagaimana penyimpanan yang diprovisikan secara statis dikonsumsi di Kube:
Lakukan langkah-langkah berikut:
Tentukan kelas penyimpanan: Admin kluster mendefinisikan kelas penyimpanan menurut lingkungan operasi untuk kluster Kube Anda. Admin kluster juga menyebarkan provisioner, yang merupakan pod atau aplikasi lain yang disebarkan pada kluster Kube. Provisioner memiliki semua rincian untuk memprovisikan berbagi secara dinamis.
Klaim penyimpanan: Anda mengirimkan aplikasi yang akan mengklaim penyimpanan. Setelah PVC dibuat dengan referensi kelas penyimpanan ini, provisioner dipanggil.
Provisi penyimpanan secara dinamis: Provisioner secara dinamis membuat berbagi yang berkaitan dengan penyimpanan disk lokal. Setelah berbagi dibuat, provisioner juga membuat objek PV secara otomatis sesuai dengan berbagi ini.
Pasang PVC ke kontainer: Setelah PVC terikat ke PV, Anda dapat memasang PVC pada kontainer ke jalur dengan cara yang sama seperti provisi statis, dan membaca dari atau menulis ke dalam berbagi.
Provisi penyimpanan di Azure Stack Edge Pro
Pada perangkat Azure Stack Edge Pro, PersistentVolumes
yang diprovisikan secara statis dibuat menggunakan kemampuan penyimpanan perangkat. Ketika Anda memprovisikan pembagian dan opsi Menggunakan berbagi dengan komputasi Azure Stack Edge diaktifkan, tindakan ini otomatis membuat sumber daya PV di kluster Kube.
Untuk menggunakan peningkatan cloud, Anda dapat membuat berbagi cloud Azure Stack Edge dengan opsi Menggunakan berbagi dengan komputasi Azure Stack Edge diaktifkan. Satu PV otomatis kembali dibuat untuk berbagi ini. Data aplikasi apa pun yang Anda tulis ke berbagi Azure Stack Edge akan ditingkatkan ke cloud.
Anda dapat membuat berbagi SMB dan NFS untuk memprovisikan PV secara statis pada perangkat Azure Stack Edge Pro. Setelah PV diprovisikan, kirimkan PVC untuk mengklaim penyimpanan ini. Berikut adalah contoh penyebaran PVC yaml
yang mengklaim penyimpanan dan menggunakan berbagi yang Anda provisikan.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-smb-flexvol
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
volumeName: <nfs-or-smb-share-name-here>
storageClassName: ""
Untuk mendapatkan nilai volumeName
bidang, pilih titik pemasangan lokal untuk modul komputasi Azure Stack Edge saat Anda memilih berbagi SMB atau NFS setelah pembuatan. Ini sama dengan nama berbagi.
Untuk informasi selengkapnya, lihat Menyebarkan aplikasi stateful melalui provisi statis pada Azure Stack Edge Pro Anda melalui kubectl.
Untuk mengakses penyimpanan yang diprovisikan secara statis yang sama, opsi pemasangan volume yang sesuai untuk pengikatan penyimpanan untuk IoT adalah sebagai berikut. /home/input
merupakan jalur tempat volume dapat diakses dalam kontainer.
{
"HostConfig": {
"Mounts": [
{
"Target": "/home/input",
"Source": "<nfs-or-smb-share-name-here>",
"Type": "volume"
},
{
"Target": "/home/output",
"Source": "<nfs-or-smb-share-name-here>",
"Type": "volume"
}]
}
}
Azure Stack Edge Pro juga memiliki StorageClass
bawaan yang disebut ase-node-local
yang menggunakan penyimpanan disk data yang terlampir pada node Kube. StorageClass
ini mendukung provisi dinamis. Anda dapat membuat referensi StorageClass
dalam aplikasi pod dan satu PV secara otomatis dibuat untuk Anda. Untuk informasi selengkapnya, lihat Dasbor Kube untuk mengkueri ase-node-local StorageClass
.
Untuk informasi selengkapnya, lihat Menyebarkan aplikasi stateful melalui provisi dinamis pada Azure Stack Edge Pro Anda melalui kubectl.
Memilih jenis penyimpanan
Anda mungkin perlu memilih jenis penyimpanan Anda tergantung pada beban kerja yang Anda sebarkan.
Jika Anda ingin mode akses
ReadWriteMany
untukPersistentVolumes
Anda, tempat volume dipasang sebagai read-write oleh banyak simpul yang disebarkan, gunakan provisi statis untuk berbagi SMB/NFS.Jika aplikasi yang Anda sebarkan memiliki persyaratan kepatuhan POSIX, misalnya, aplikasi seperti MongoDB, PostgreSQL, MySQL atau Prometheus, gunakan StorageClass bawaan. Mode aksesnya adalah
ReadWriteOnce
, atau volume tersebut dipasang sebagai read-write oleh satu simpul.
Untuk informasi selengkapnya tentang mode akses, lihat Mode akses volume Kube.
Langkah berikutnya
Untuk memahami bagaimana Anda dapat memprovisikan PersistentVolume
secara statis, lihat:
- Menyebarkan aplikasi stateful melalui provisi statis pada Azure Stack Edge Pro Anda melalui kubectl.
Untuk mempelajari bagaimana Anda dapat memprovisikan StorageClass
secara dinamis, lihat: