Container Service for Kubernetes (ACK) memungkinkan Anda membuat berbagai kategori disk cloud di kluster ACK sesuai kebutuhan penyimpanan dan anggaran untuk berbagai skenario. ACK juga mendukung perubahan kategori disk guna memenuhi kebutuhan bisnis yang terus berkembang. Misalnya, jika awalnya Anda menggunakan SSD standar untuk aplikasi tetapi kini memerlukan IOPS yang lebih tinggi, Anda dapat meningkatkan kategori disk dari SSD standar ke Enterprise SSD (ESSD).
Prasyarat
Kluster Anda menggunakan Kubernetes 1.20 atau versi yang lebih baru dan telah menginstal plug-in Container Storage Interface (CSI).
Untuk meningkatkan kluster Anda, lihat Meningkatkan kluster secara manual.
storage-operator versi 1.26.1-50a1499-aliyun atau yang lebih baru telah diinstal di kluster.
CatatanSecara default, komponen storage-operator telah diinstal di kluster. Anda dapat membuka halaman detail kluster di Konsol ACK. Di panel navigasi sebelah kiri halaman detail kluster, pilih , lalu klik tab Storage untuk memeriksa apakah storage-operator telah diinstal dan melihat versinya. Untuk informasi selengkapnya, lihat Mengelola komponen storage-operator.
Jika kluster Anda adalah ACK dedicated cluster, pastikan peran RAM (Resource Access Management) worker dan peran RAM master kluster memiliki izin untuk memanggil operasi ModifyDiskSpec. Untuk informasi selengkapnya, lihat Membuat kebijakan kustom.
Otorisasi ini tidak diperlukan untuk kluster ACK yang dikelola.
Catatan penggunaan
Disk dasar dan disk sementara tidak dapat diubah menjadi kategori disk lainnya.
Upgrade dan downgrade didukung dalam skenario berikut:
Enterprise SSD (ESSD)
Ini adalah disk dengan redundansi lokal.
ESSD dengan tingkat kinerja (PL) 0 dapat langsung diubah menjadi salah satu tipe berikut:
ESSD PL1, PL2, atau PL3
ESSD AutoPL disk
Regional ESSD
Anda hanya dapat mengubah disk menjadi ESSD dengan redundansi regional jika disk tersebut merupakan disk data.
Perubahan untuk ESSD PL1, PL2, dan PL3 bergantung pada metode penagihan:
Untuk disk bayar sesuai penggunaan:
Anda dapat mengubah antar tingkat kinerja PL1, PL2, dan PL3.
Anda dapat langsung mengubah disk menjadi ESSD AutoPL disk.
Hanya ESSD PL1 yang dapat langsung diubah menjadi ESSD dengan redundansi regional.
Anda hanya dapat mengubah disk menjadi ESSD dengan redundansi regional jika disk tersebut merupakan disk data.
Untuk disk langganan, Anda hanya dapat meningkatkan ke tingkat kinerja yang lebih tinggi:
Mengubah ESSD PL1 menjadi ESSD PL2.
Mengubah ESSD PL1 menjadi ESSD PL3.
Mengubah ESSD PL2 menjadi ESSD PL3.
Mengubah ESSD PL1 menjadi ESSD AutoPL disk.
Mengubah disk data ESSD PL1 menjadi ESSD dengan redundansi regional.
ESSD AutoPL disk
Ini adalah disk dengan redundansi lokal. Anda dapat langsung mengubahnya menjadi salah satu tipe berikut:
ESSD AutoPL disk
Saat melakukan perubahan, Anda dapat memodifikasi performa yang disediakan tetapi tidak dapat mengubah lonjakan performa. Anda dapat menyesuaikan lonjakan performa setelah perubahan selesai.
ESSD dengan redundansi regional
Saat mengubah ke ESSD dengan redundansi regional, Anda harus menonaktifkan performa yang disediakan dan lonjakan performa.
ESSD dengan redundansi regional dan ESSD AutoPL disk memiliki batas performa yang berbeda. Menonaktifkan Performa yang Disediakan dan lonjakan performa dapat memengaruhi layanan Anda. Sebelum melanjutkan, tinjau dokumentasi performa Block Storage untuk memastikan konfigurasi baru memenuhi kebutuhan bisnis Anda.
Anda hanya dapat mengubah disk menjadi ESSD dengan redundansi regional jika disk tersebut merupakan disk data.
ESSD dengan redundansi regional
Ini adalah disk dengan redundansi antar zona.
Pilih zona untuk perubahan.
Jika status disk adalah In Use, opsi ini tidak tersedia (berwarna abu-abu). Zona ketersediaan (AZ) disk redundansi lokal yang baru akan sama dengan AZ instans tempat disk tersebut disambungkan.
Jika status disk adalah Unattached, disk redundansi lokal yang baru hanya dapat disambungkan ke instans di AZ yang dipilih.
Pilih New Disk Category.
Anda dapat langsung mengubah ESSD dengan redundansi regional menjadi:
ESSD PL1, PL2, atau PL3
ESSD AutoPL disk
ESSD Entry disk
Ini adalah disk dengan redundansi lokal. Anda dapat langsung mengubahnya menjadi salah satu tipe berikut:
ESSD PL0, PL1, PL2, atau PL3
ESSD AutoPL disk
ESSD dengan redundansi antar zona
Disk hanya dapat diubah menjadi ESSD dengan redundansi antar zona jika digunakan sebagai disk data.
Disk ultra
Ini adalah disk dengan redundansi lokal. Anda dapat langsung mengubahnya menjadi salah satu tipe berikut:
SSD standar
ESSD Entry disk
Disk ini hanya dapat disambungkan ke tipe instans General Purpose (U-series) dan e, economy instance family.
ESSD PL0, PL1, PL2, atau PL3
ESSD AutoPL disk
SSD standar
Ini adalah disk dengan redundansi lokal. Anda dapat langsung mengubahnya menjadi salah satu tipe berikut:
ESSD PL1, PL2, atau PL3
ESSD AutoPL disk
CatatanKetika perubahan kategori disk melibatkan ESSD dengan redundansi regional, pengaturan afinitas volume tidak dapat dimodifikasi. Misalnya, setelah Anda mengubah ESSD menjadi ESSD dengan redundansi regional, Pod yang menggunakan disk tersebut tetap tidak dapat dijadwalkan ke zona lain.
Tipe instans ECS tempat disk cloud dapat disambungkan bergantung pada kategori disk. Saat Anda mengubah kategori disk suatu volume, pastikan kategori disk baru didukung oleh tipe instans ECS dari node yang menjalankan Pod tempat volume tersebut dipasang. Untuk informasi selengkapnya tentang aturan pencocokan antara kategori disk dan tipe instans ECS, lihat Ikhtisar keluarga instans.
Hanya disk bayar sesuai penggunaan yang dapat dipasang sebagai volume. Setelah Anda mengubah kategori disk suatu volume, disk tersebut akan ditagih berdasarkan aturan penagihan kategori disk yang baru.
Untuk informasi selengkapnya, lihat Batasan.
Langkah 1: Konfigurasikan storage-operator untuk mengaktifkan perubahan kategori disk
Sambungkan ke kluster dan jalankan perintah berikut untuk memodifikasi ConfigMap storage-operator dan mengaktifkan fitur perubahan kategori disk. Secara default, plug-in storage-controller yang disediakan oleh storage-operator digunakan untuk mengimplementasikan fitur ini.
kubectl patch configmap/storage-operator \
-n kube-system \
--type merge \
-p '{"data":{"storage-controller":"{\"imageRep\":\"acs/storage-controller\",\"imageTag\":\"\",\"install\":\"true\",\"template\":\"/acs/templates/storage-controller/install.yaml\",\"type\":\"deployment\"}"}}'Langkah 2: Buat resource kustom untuk melakukan perubahan kategori disk
Untuk meminimalkan dampak terhadap bisnis Anda, ubah kategori disk atau tingkat kinerja selama jam non-puncak.
Buat StatefulSet.
Jika StatefulSet yang telah memiliki disk cloud terpasang sudah ada di kluster Anda, Anda dapat melewati langkah ini.
Gunakan templat berikut untuk membuat file bernama StatefulSet.yaml.
File YAML ini digunakan untuk membuat StatefulSet yang menyediakan Pod. Pod tersebut memiliki ESSD PL1 berukuran 40 GiB yang dipasang.
apiVersion: apps/v1 kind: StatefulSet metadata: name: nginx-diskspec spec: selector: matchLabels: app: nginx replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 volumeMounts: - name: pvc-disk mountPath: /data volumes: - name: pvc-disk persistentVolumeClaim: claimName: disk-pvc volumeClaimTemplates: - metadata: name: pvc-disk labels: app: nginx spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "alicloud-disk-essd" resources: requests: storage: 40GiBuat StatefulSet.
kubectl create -f StatefulSet.yamlLihat penerapan Pod.
kubectl get pod -l app=nginxOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE nginx-diskspec-0 1/1 Running 0 4m4sLihat informasi tentang klaim volume persisten (PVC) yang digunakan oleh StatefulSet dan dapatkan nama volume persisten (PV) yang terikat pada PVC tersebut.
kubectl get pvc pvc-disk-nginx-diskspec-0Output berikut menunjukkan bahwa nama PV yang terikat adalah
d-uf6ijdcp3aeoi82w****, yang ditampilkan di kolomVOLUME.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE pvc-disk-nginx-diskspec-0 Bound d-uf6ijdcp3aeoi82w**** 40Gi RWO alicloud-disk-essd <unset> 5m6s
Lihat kategori disk dari PV.
kubectl get pv d-uf6ijdcp3aeoi82w**** -o=jsonpath='{.metadata.labels}'cloud_essd.PL1dikembalikan dalam output, yang menunjukkan bahwa PV digunakan untuk memasang ESSD PL1.{"csi.alibabacloud.com/disktype":"cloud_essd.PL1"}Buat resource kustom untuk melakukan perubahan kategori disk.
Buat file bernama cr.yaml.
Salin templat YAML berikut ke file tersebut. Ganti
pvNamesdandesiredDiskTypedengan nilai aktual.apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerStorageOperator metadata: name: default spec: operationType: DISKUPGRADE operationParams: pvNames: "d-uf6ijdcp3aeoi82w****" desiredDiskType: "cloud_auto"Parameter
Deskripsi
operationTypeNilai DISKUPGRADE menunjukkan bahwa operasi saat ini adalah Upgrade/Downgrade disk cloud.
pvNamesPV yang ingin Anda kelola. Pisahkan beberapa PV dengan koma (,). Contoh:
"disk-1***,disk-2***,disk-3***".desiredDiskTypeKategori disk baru. Tentukan nilainya berdasarkan deskripsi pada bagian Catatan penggunaan.
cloud_auto: ESSD AutoPL diskcloud_essd.PL0: ESSD PL0cloud_essd.PL1: ESSD PL1cloud_essd.PL2: ESSD PL2cloud_essd.PL3: ESSD PL3cloud_ssd: SSD standar
Buat resource kustom.
kubectl create -f cr.yaml
Verifikasi bahwa kategori disk telah diubah.
Kueri status resource kustom untuk memeriksa apakah kategori disk telah diubah.
kubectl get ContainerStorageOperator default -o yamlPeriksa bidang
statusdalam output. Output yang diharapkan:status: message: [] process: 100% status: SUCCESSKueri label PV untuk memeriksa apakah kategori disk telah diubah menjadi ESSD AutoPL disk.
kubectl get pv d-uf6ijdcp3aeoi82w**** -o=jsonpath='{.metadata.labels}'Output yang diharapkan:
{"csi.alibabacloud.com/disktype":"cloud_auto"}