Menggunakan Pratinjau Azure Container Storage dengan Azure Elastic SAN
Azure Container Storage adalah layanan manajemen volume, penyebaran, dan orkestrasi berbasis cloud yang dibangun secara asli untuk kontainer. Artikel ini menunjukkan cara mengonfigurasi Azure Container Storage untuk menggunakan Azure Elastic SAN sebagai penyimpanan back-end untuk beban kerja Kubernetes Anda. Pada akhirnya, Anda akan memiliki pod yang menggunakan Elastic SAN sebagai penyimpanannya.
Prasyarat
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Artikel ini memerlukan versi terbaru (2.35.0 atau yang lebih baru) dari Azure CLI. Lihat Cara menginstal Azure CLI. Jika Anda menggunakan lingkungan Bash di Azure Cloud Shell, versi terbaru sudah diinstal. Jika Anda berencana untuk menjalankan perintah secara lokal alih-alih di Azure Cloud Shell, pastikan untuk menjalankannya dengan hak istimewa administratif. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Anda akan memerlukan klien baris perintah Kubernetes,
kubectl
. Ini sudah diinstal jika Anda menggunakan Azure Cloud Shell, atau Anda dapat menginstalnya secara lokal dengan menjalankanaz aks install-cli
perintah .Jika Anda belum menginstal Azure Container Storage, ikuti instruksi di Menginstal Azure Container Storage.
Periksa apakah wilayah target Anda didukung di wilayah Azure Container Storage.
- Pastikan langganan Anda memiliki peran Pemilik Azure Container Storage atau peran Kontributor Azure Container Storage. Agar Azure Container Storage berhasil berkomunikasi dengan API Elastic SAN, azure Container Storage memerlukan izin khusus yang akan diberikan salah satu dari kedua peran tersebut.
Catatan
Untuk menggunakan Azure Container Storage dengan Azure Elastic SAN, kluster AKS Anda harus memiliki kumpulan node setidaknya tiga VM tujuan umum seperti standard_d4s_v5 untuk node kluster, masing-masing dengan minimal empat CPU virtual (vCPU).
Batasan
Fitur berikut saat ini tidak didukung saat Anda menggunakan Azure Container Storage untuk menyebarkan dan mengatur ELASTIC SAN.
- Rekam jepret volume
- Ekspansi kumpulan penyimpanan
Ketersediaan regional
Azure Container Storage hanya tersedia untuk subset wilayah Azure:
- (Afrika) Afrika Selatan Utara
- (Asia Pasifik) Australia Timur
- (Asia Pasifik) Asia Timur
- (Asia Pasifik) Jepang Timur
- (Asia Pasifik) Korea Tengah
- (Asia Pasifik) Asia Tenggara
- (Asia Pasifik) India Tengah
- (Eropa) Prancis Tengah
- (Eropa) Jerman Barat Tengah
- (Eropa) Eropa Utara
- (Eropa) Eropa Barat
- (Eropa) UK Selatan
- (Eropa) Swedia Tengah
- (Eropa) Swiss Utara
- (Timur Tengah) UEA Utara
- (Amerika Utara): US Timur
- (Amerika Utara): US Timur 2
- (Amerika Utara) US Barat
- (Amerika Utara): US Barat 2
- (Amerika Utara): US Barat 3
- (Amerika Utara): US Tengah
- (Amerika Utara) US Tengah Utara
- (Amerika Utara) US Tengah Selatan
- (Amerika Utara) US Tengah Barat
- (Amerika Utara) Kanada Tengah
- (Amerika Utara) Kanada Timur
- (Amerika Selatan) Brasil Selatan
Membuat kumpulan penyimpanan
Pertama, buat kumpulan penyimpanan, yang merupakan pengelompokan penyimpanan logis untuk kluster Kubernetes Anda, dengan menentukannya dalam file manifes YAML.
Jika Anda mengaktifkan Azure Container Storage menggunakan az aks create
perintah atau az aks update
, Anda mungkin sudah memiliki kumpulan penyimpanan. Gunakan kubectl get sp -n acstor
untuk mendapatkan daftar kumpulan penyimpanan. Jika Anda memiliki kumpulan penyimpanan yang sudah tersedia yang ingin Anda gunakan, Anda dapat melewati bagian ini dan melanjutkan ke Menampilkan kelas penyimpanan yang tersedia.
Ikuti langkah-langkah ini untuk membuat kumpulan penyimpanan dengan Azure Elastic SAN.
Gunakan editor teks favorit Anda untuk membuat file manifes YAML seperti
code acstor-storagepool.yaml
.Tempelkan dalam kode berikut. Nilai nama kumpulan penyimpanan bisa menjadi apa pun yang Anda inginkan. Sesuaikan penyimpanan untuk mencerminkan kapasitas penyimpanan yang Anda inginkan di Gi atau Ti, dan simpan file. Azure Elastic SAN saat ini tidak mendukung mengubah ukuran kumpulan penyimpanan.
apiVersion: containerstorage.azure.com/v1 kind: StoragePool metadata: name: managed namespace: acstor spec: poolType: elasticSan: {} resources: requests: {"storage": 1Ti}
Terapkan file manifes YAML untuk membuat kumpulan penyimpanan.
kubectl apply -f acstor-storagepool.yaml
Saat pembuatan kumpulan penyimpanan selesai, Anda akan melihat pesan seperti:
storagepool.containerstorage.azure.com/managed created
Anda juga dapat menjalankan perintah ini untuk memeriksa status kumpulan penyimpanan. Ganti
<storage-pool-name>
dengan nilai nama kumpulan penyimpanan Anda. Untuk contoh ini, nilai akan dikelola.kubectl describe sp <storage-pool-name> -n acstor
Saat kumpulan penyimpanan dibuat, Azure Container Storage akan membuat kelas penyimpanan atas nama Anda menggunakan konvensi acstor-<storage-pool-name>
penamaan . Ini juga akan membuat sumber daya Azure Elastic SAN.
Menampilkan kelas penyimpanan yang tersedia
Saat kumpulan penyimpanan siap digunakan, Anda harus memilih kelas penyimpanan untuk menentukan bagaimana penyimpanan dibuat secara dinamis saat membuat klaim volume persisten dan menyebarkan volume persisten.
Jalankan kubectl get sc
untuk menampilkan kelas penyimpanan yang tersedia. Anda akan melihat kelas penyimpanan yang disebut acstor-<storage-pool-name>
.
Penting
Jangan gunakan kelas penyimpanan yang ditandai internal. Ini adalah kelas penyimpanan internal yang diperlukan agar Azure Container Storage berfungsi.
Buat klaim volume persisten
Klaim volume persisten (PVC) digunakan untuk mem-provisikan penyimpanan secara otomatis berdasarkan kelas penyimpanan. Ikuti langkah-langkah ini untuk membuat PVC menggunakan kelas penyimpanan baru.
Gunakan editor teks favorit Anda untuk membuat file manifes YAML seperti
code acstor-pvc.yaml
.Tempelkan kode berikut dan simpan file. Nilai PVC
name
dapat menjadi apa pun yang Anda inginkan.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: managedpvc spec: accessModes: - ReadWriteOnce storageClassName: acstor-managed # replace with the name of your storage class if different resources: requests: storage: 100Gi
Terapkan file manifes YAML untuk membuat PVC.
kubectl apply -f acstor-pvc.yaml
Anda akan melihat output yang serupa dengan:
persistentvolumeclaim/managedpvc created
Anda dapat memverifikasi status PVC dengan menjalankan perintah berikut:
kubectl describe pvc managedpvc
Setelah PVC dibuat, PVC siap digunakan oleh pod.
Menyebarkan pod dan melampirkan volume persisten
Buat pod menggunakan Fio (Flexible I/O Tester) untuk simulasi benchmarking dan beban kerja, dan tentukan jalur pemasangan untuk volume persisten. Untuk claimName, gunakan nilai nama yang Anda gunakan saat membuat klaim volume persisten.
Gunakan editor teks favorit Anda untuk membuat file manifes YAML seperti
code acstor-pod.yaml
.Tempelkan kode berikut dan simpan file.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: acstor.azure.com/io-engine: acstor volumes: - name: managedpv persistentVolumeClaim: claimName: managedpvc containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: managedpv
Terapkan file manifes YAML untuk menyebarkan pod.
kubectl apply -f acstor-pod.yaml
Anda akan melihat output yang mirip dengan hal berikut:
pod/fiopod created
Periksa apakah pod berjalan dan bahwa klaim volume persisten telah berhasil terikat ke pod:
kubectl describe pod fiopod kubectl describe pvc managedpvc
Periksa pengujian fio untuk melihat statusnya saat ini:
kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
Anda sekarang telah menyebarkan pod yang menggunakan Elastic SAN sebagai penyimpanannya, dan Anda dapat menggunakannya untuk beban kerja Kubernetes Anda.
Melepas dan memasang kembali volume persisten
Untuk melepaskan volume persisten, hapus pod tempat volume persisten dilampirkan. Ganti <pod-name>
dengan nama pod, misalnya fiopod.
kubectl delete pods <pod-name>
Untuk memasang kembali volume persisten, cukup referensikan nama klaim volume persisten dalam file manifes YAML seperti yang dijelaskan dalam Menyebarkan pod dan melampirkan volume persisten.
Untuk memeriksa volume persisten mana yang terikat dengan klaim volume persisten, jalankan kubectl get pvc <persistent-volume-claim-name>
.
Menghapus kumpulan penyimpanan
Jika Anda ingin menghapus kumpulan penyimpanan, jalankan perintah berikut. Ganti <storage-pool-name>
dengan nama kumpulan penyimpanan.
kubectl delete sp -n acstor <storage-pool-name>