Gunakan disk ultra Azure di Azure Kubernetes Service
Disk ultra Azure menawarkan throughput tinggi, IOPS tinggi, dan penyimpanan disk latensi rendah yang konsisten untuk aplikasi stateful Anda. Salah satu manfaat utama dari disk ultra adalah kemampuan untuk secara dinamis mengubah performa SSD bersama dengan beban kerja Anda tanpa perlu menghidupkan ulang simpul agen Anda. Disk ultra cocok untuk beban kerja intensif data.
Artikel ini menjelaskan cara mengonfigurasi kluster AKS baru atau yang sudah ada untuk menggunakan disk ultra Azure.
Sebelum Anda mulai
Fitur ini hanya dapat diatur pada pembuatan kluster atau saat membuat kumpulan simpul.
Batasan
- Disk ultra Azure memerlukan kumpulan simpul yang disebarkan di zona ketersediaan dan wilayah yang mendukung disk ini, dan hanya didukung oleh seri VM tertentu. Tinjau tabel yang sesuai di bawah bagian Batasan disk Ultra untuk informasi selengkapnya.
- Disk ultra tidak dapat digunakan dengan beberapa fitur dan fungsionalitas, seperti set ketersediaan atau Azure Disk Encryption. Tinjau batasan disk Ultra untuk informasi terbaru.
Membuat kluster yang dapat menggunakan disk ultra
Buat kluster AKS yang dapat memanfaatkan Disk ultra Azure dengan menggunakan perintah CLI berikut. --enable-ultra-ssd
Gunakan parameter untuk mengatur EnableUltraSSD
fitur.
az aks create \
--resource-group MyResourceGroup \
--name myAKSCluster \
--location westus2 \
--node-vm-size Standard_D2s_v3 \
--zones 1 2 \
--node-count 2 \
--enable-ultra-ssd \
--generate-ssh-keys
Jika Anda ingin membuat kluster tanpa dukungan disk ultra, Anda dapat melakukannya dengan menghilangkan --enable-ultra-ssd
parameter .
Mengaktifkan disk ultra pada kluster yang ada
Anda dapat mengaktifkan disk ultra pada kluster yang ada dengan menambahkan kumpulan simpul baru ke kluster Anda yang mendukung disk ultra. Konfigurasikan kumpulan simpul baru untuk menggunakan disk ultra dengan menggunakan --enable-ultra-ssd
parameter dengan az aks nodepool add
perintah .
Jika Anda ingin membuat kumpulan simpul baru tanpa dukungan untuk disk ultra, Anda dapat melakukannya dengan mengecualikan --enable-ultra-ssd
parameter .
Gunakan disk ultra secara dinamis dengan kelas penyimpanan
Untuk menggunakan disk ultra dalam penyebaran atau set stateful, Anda dapat menggunakan kelas penyimpanan untuk provisi dinamis.
Membuat kelas penyimpanan
Kelas penyimpanan digunakan untuk menentukan bagaimana sebuah unit penyimpanan dibuat secara dinamis dengan volume persisten. Untuk informasi lebih lanjut tentang kelas penyimpanan Kube, lihat kelas penyimpanan Kube. Dalam contoh ini, kita akan membuat kelas penyimpanan yang mereferensikan disk ultra.
Buat file bernama
azure-ultra-disk-sc.yaml
dan salin dalam manifes berikut:kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: ultra-disk-sc provisioner: disk.csi.azure.com # replace with "kubernetes.io/azure-disk" if aks version is less than 1.21 volumeBindingMode: WaitForFirstConsumer # optional, but recommended if you want to wait until the pod that will use this disk is created parameters: skuname: UltraSSD_LRS kind: managed cachingMode: None diskIopsReadWrite: "2000" # minimum value: 2 IOPS/GiB diskMbpsReadWrite: "320" # minimum value: 0.032/GiB
Buat kelas penyimpanan menggunakan
kubectl apply
perintah dan tentukan file Andaazure-ultra-disk-sc.yaml
.kubectl apply -f azure-ultra-disk-sc.yaml
Output Anda harus menyerupai contoh output berikut:
storageclass.storage.k8s.io/ultra-disk-sc created
Buat klaim volume persisten
Klaim volume persisten (PVC) digunakan untuk mem-provisikan penyimpanan secara otomatis berdasarkan kelas penyimpanan. Dalam hal ini, PVC dapat menggunakan kelas penyimpanan yang dibuat sebelumnya untuk membuat disk ultra.
Buat file bernama
azure-ultra-disk-pvc.yaml
dan salin dalam manifes berikut:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ultra-disk spec: accessModes: - ReadWriteOnce storageClassName: ultra-disk-sc resources: requests: storage: 1000Gi
Klaim meminta disk bernama
ultra-disk
yang berukuran 1000 GB dengan akses ReadWriteOnce. Kelas penyimpanan ultra-disk-sc ditentukan sebagai kelas penyimpanannya.Buat klaim volume persisten menggunakan
kubectl apply
perintah dan tentukan file Andaazure-ultra-disk-pvc.yaml
.kubectl apply -f azure-ultra-disk-pvc.yaml
Output Anda harus menyerupai contoh output berikut:
persistentvolumeclaim/ultra-disk created
Menggunakan volume persisten
Setelah klaim volume persisten dibuat dan disk berhasil tersedia, sebuah pod dapat dibuat dengan akses ke disk. Manifes berikut membuat pod NGINX dasar yang menggunakan klaim volume persisten bernama ultra-disk untuk memasang disk Azure di jalur /mnt/azure
.
Buat file bernama
nginx-ultra.yaml
dan salin dalam manifes berikut:kind: Pod apiVersion: v1 metadata: name: nginx-ultra spec: containers: - name: nginx-ultra image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - mountPath: "/mnt/azure" name: volume volumes: - name: volume persistentVolumeClaim: claimName: ultra-disk
Buat pod menggunakan
kubectl apply
perintah dan tentukan file Andanginx-ultra.yaml
.kubectl apply -f nginx-ultra.yaml
Output Anda harus menyerupai contoh output berikut:
pod/nginx-ultra created
Sekarang Anda memiliki pod yang sedang berjalan dengan disk Azure Anda terpasang di direktori
/mnt/azure
.Lihat detail konfigurasi Anda menggunakan
kubectl describe pod
perintah dan tentukan file Andanginx-ultra.yaml
.kubectl describe pod nginx-ultra
Output Anda harus menyerupai contoh output berikut:
[...] Volumes: volume: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: azure-managed-disk ReadOnly: false default-token-smm2n: Type: Secret (a volume populated by a Secret) SecretName: default-token-smm2n Optional: false [...] Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m default-scheduler Successfully assigned mypod to aks-nodepool1-79590246-0 Normal SuccessfulMountVolume 2m kubelet, aks-nodepool1-79590246-0 MountVolume.SetUp succeeded for volume "default-token-smm2n" Normal SuccessfulMountVolume 1m kubelet, aks-nodepool1-79590246-0 MountVolume.SetUp succeeded for volume "pvc-faf0f176-8b8d-11e8-923b-deb28c58d242" [...]
Langkah berikutnya
- Untuk informasi selengkapnya tentang disk ultra, lihat Menggunakan disk ultra Azure.
- Untuk informasi selengkapnya tentang praktik terbaik penyimpanan, lihat Praktik terbaik untuk penyimpanan dan pencadangan di AKS.
Azure Kubernetes Service