Menggunakan driver Azure Managed Lustre CSI dengan Azure Kubernetes Service
Dalam artikel ini, Anda mempelajari cara merencanakan, menginstal, dan menggunakan Azure Managed Lustre
Anda dapat menggunakan Driver CSI Azure Lustre untuk Kubernetes untuk mengakses penyimpanan Azure Managed Lustre sebagai volume penyimpanan persisten dari kontainer Kubernetes yang disebarkan di AKS.
Versi Kubernetes yang kompatibel
Driver CSI Azure Lustre untuk Kubernetes kompatibel dengan AKS. Penginstalan Kubernetes lainnya saat ini tidak didukung.
AKS Kubernetes versi 1.21 dan yang lebih baru didukung. Dukungan ini mencakup semua versi yang saat ini tersedia saat Anda membuat kluster AKS baru.
Penting
Saat ini, Driver CSI Azure Lustre untuk Kubernetes hanya mendukung SKU OS Linux Ubuntu untuk pool node AKS.
Versi Lustre yang kompatibel
Driver Azure Lustre CSI untuk Kubernetes kompatibel dengan Azure Managed Lustre. Penginstalan Lustre lainnya saat ini tidak didukung.
Driver CSI Azure Lustre untuk Kubernetes versi 0.1.10 dan yang lebih baru didukung dengan versi layanan Azure Managed Lustre saat ini.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Lingkungan terminal dengan alat Azure CLI terinstal. Lihat Mulai menggunakan Azure CLI.
- kubectl, alat manajemen Kubernetes, diinstal di lingkungan terminal Anda. Lihat Panduan Cepat : Menyebarkan kluster Azure Kubernetes Service (AKS) dengan menggunakan Azure CLI.
- Penyebaran Azure Managed Lustre. Lihatlah dokumentasi Azure Managed Lustre.
Merencanakan penyebaran AKS Anda
Saat Anda menyebarkan Azure Kubernetes Service, beberapa opsi memengaruhi operasi antara AKS dan Azure Managed Lustre.
Menentukan jenis jaringan yang akan digunakan dengan AKS
Dua jenis jaringan kompatibel dengan SKU OS Linux Ubuntu: kubenet dan driver Azure Container Network Interface (CNI). Kedua opsi berfungsi dengan Driver CSI Azure Lustre untuk Kubernetes, tetapi memiliki persyaratan berbeda yang perlu Anda pahami saat menyiapkan jaringan virtual dan AKS. Untuk informasi selengkapnya tentang menentukan pilihan yang tepat, lihat konsep jaringan untuk aplikasi di Azure Kubernetes Service (AKS).
Menentukan arsitektur jaringan untuk interkonektivitas AKS dan Azure Managed Lustre
Azure Managed Lustre beroperasi dalam jaringan virtual privat. Instans AKS Anda harus memiliki konektivitas jaringan ke jaringan virtual Azure Managed Lustre. Ada dua cara umum untuk mengonfigurasi jaringan antara Azure Managed Lustre dan AKS:
- Pasang AKS di jaringan virtualnya sendiri dan buat hubungan jaringan virtual dengan jaringan virtual Azure Managed Lustre.
- Gunakan opsi "Bawa jaringan virtual Azure Anda sendiri" di AKS untuk menginstal AKS di subnet baru pada jaringan virtual Azure Managed Lustre.
Catatan
Kami tidak menyarankan Anda menginstal AKS di subnet yang sama dengan Azure Managed Lustre.
Peering AKS dan jaringan virtual Azure Managed Lustre
Pilihan untuk melakukan peering dua jaringan virtual memiliki keuntungan dalam memisahkan pengelolaan jaringan menjadi peran dengan hak istimewa yang berbeda. Peering juga dapat memberikan fleksibilitas tambahan, karena Anda dapat menerapkannya di seluruh langganan atau wilayah Azure. Peering jaringan virtual memerlukan koordinasi antara kedua jaringan untuk menghindari pemilihan ruang jaringan IP yang bertentangan.
Menginstal AKS di subnet di jaringan virtual Azure Managed Lustre
Opsi untuk menginstal kluster AKS di jaringan virtual Azure Managed Lustre dengan fitur Bring your own Azure virtual network di AKS dapat menguntungkan dalam skenario di mana jaringan dikelola secara tunggal. Anda harus membuat subnet tambahan, berukuran untuk memenuhi persyaratan jaringan AKS Anda, di jaringan virtual Azure Managed Lustre.
Tidak ada pemisahan hak istimewa untuk manajemen jaringan saat Anda menyediakan AKS di jaringan virtual Azure Managed Lustre. Perwakilan layanan AKS memerlukan hak istimewa di jaringan virtual Azure Managed Lustre.
Menyiapkan driver
Untuk mengaktifkan Driver CSI Azure Lustre untuk Kubernetes, lakukan langkah-langkah berikut:
Membuat dan mengonfigurasi volume persisten.
Periksa penginstalan dengan menggunakan pod echo, jika diinginkan, untuk mengonfirmasi bahwa driver berfungsi.
Bagian berikut ini menjelaskan setiap tugas secara lebih rinci.
Membuat kluster sistem file Azure Managed Lustre
Jika Anda belum membuat kluster sistem file Azure Managed Lustre, buat kluster sekarang. Untuk petunjuknya, lihat Membuat sistem file Azure Managed Lustre dengan menggunakan portal Microsoft Azure. Saat ini, driver hanya dapat digunakan dengan sistem file Azure Managed Lustre yang ada.
Membuat kluster AKS
Jika Anda belum membuat kluster AKS, buat penyebaran kluster. Lihat Menyebarkan kluster Azure Kubernetes Service (AKS) dengan menggunakan portal Microsoft Azure.
Membuat peering jaringan virtual
Catatan
Lewati langkah peering jaringan ini jika Anda menginstal AKS di subnet di jaringan virtual Azure Managed Lustre.
Jaringan virtual AKS dibuat dalam grup sumber daya terpisah dari grup sumber daya kluster AKS. Anda dapat menemukan nama grup sumber daya ini dengan masuk ke kluster AKS Anda di portal Microsoft Azure, masuk ke
Untuk melakukan peering jaringan virtual AKS dengan jaringan virtual Azure Managed Lustre Anda, rujuk peering jaringan virtual.
Tip
Karena penamaan grup sumber daya MC_ dan jaringan virtual, nama jaringan dapat serupa atau sama di beberapa penyebaran AKS. Saat Anda menyiapkan peering, berhati-hatilah dalam memilih jaringan AKS yang diinginkan.
Menyambungkan ke kluster AKS
Buka sesi terminal dengan akses ke alat Azure CLI dan masuk ke akun Azure Anda:
az login
Masuk ke portal Azure.
Temukan kluster AKS Anda. Pada panel Gambaran Umum, pilih tombol Sambungkan, lalu salin perintah untuk Mengunduh kredensial kluster.
Di sesi terminal Anda, tempelkan perintah untuk mengunduh kredensial. Perintah ini mirip dengan:
az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
Instal kubectl jika tidak ada di lingkungan Anda:
az aks install-cli
Verifikasi bahwa konteks saat ini adalah kluster AKS tempat Anda baru saja menginstal kredensial dan Anda dapat menyambungkannya:
kubectl config current-context kubectl get deployments --all-namespaces=true
Pasang driver
Untuk menginstal Driver CSI Azure Lustre untuk Kubernetes, jalankan perintah berikut:
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash
Untuk mendapatkan contoh perintah untuk penginstalan lokal, lihat Menginstal driver Azure Lustre CSI pada kluster Kubernetes.
Membuat dan mengonfigurasi volume persisten
Untuk membuat volume persisten untuk sistem file Azure Managed Lustre yang ada:
Salin file konfigurasi berikut dari folder /docs/examples/ di repositori azurelustre-csi-driver . Jika Anda mengkloning repositori saat menginstal driver, Anda sudah memiliki salinan lokal yang tersedia.
- storageclass_existing_lustre.yaml
- pvc_storageclass.yaml
Jika Anda tidak ingin mengkloning seluruh repositori, Anda dapat mengunduh setiap file satu per satu. Buka masing-masing tautan berikut, salin konten file, lalu tempelkan konten ke dalam file lokal dengan nama file yang sama.
Dalam file storageclass_existing_lustre.yaml, perbaruilah nama internal kluster Lustre dan alamat IP dari layanan manajemen Lustre (MGS).
Kedua pengaturan ditampilkan di portal Microsoft Azure, pada panel koneksi Klien
untuk sistem file Azure Managed Lustre Anda. Buat pembaruan ini:
Ganti
EXISTING_LUSTRE_FS_NAME
dengan nama internal kluster Lustre yang ditetapkan sistem di sistem file Azure Managed Lustre Anda. Nama internal biasanyalustrefs
. Nama internal bukan nama yang Anda berikan pada sistem file saat membuatnya.Perintah yang disarankan
mount
menyertakan nama yang disorot dalam string alamat berikut.Ganti
EXISTING_LUSTRE_IP_ADDRESS
dengan alamat IP MGS.
Untuk membuat kelas penyimpanan dan klaim volume persisten, jalankan perintah berikut
kubectl
:kubectl create -f storageclass_existing_lustre.yaml kubectl create -f pvc_storageclass.yaml
Periksa penginstalan
Jika Anda ingin memeriksa penginstalan, Anda dapat secara opsional menggunakan pod echo untuk mengonfirmasi bahwa driver berfungsi.
Untuk melihat stempel waktu di konsol selama penulisan, jalankan perintah berikut:
Tambahkan kode berikut ke pod echo:
while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
Untuk melihat stempel waktu di konsol selama penulisan, jalankan perintah
kubectl
berikut:`kubectl logs -f lustre-echo-date`