Jika kluster Anda menjalankan versi Kubernetes sebelum 1.16 atau menggunakan disk dasar, Anda tidak dapat memperbesar volume disk secara online dengan memperbarui klaim volume persisten (PVC)-nya. Sebagai gantinya, Anda harus memperbesar disk dan sistem file-nya secara manual.
Cakupan yang berlaku
Topik ini menjelaskan cara memperbesar volume disk dengan memperbesar kapasitas media penyimpanan secara manual tanpa mengubah PVC. Metode ini dapat digunakan jika kluster Anda menjalankan versi Kubernetes sebelum 1.16 atau tidak memenuhi persyaratan untuk memperbesar volume disk secara online.
Metode ini mengharuskan Anda memperbesar disk di Konsol ECS. Objek sumber daya Kubernetes di dalam kluster tidak terpengaruh, sehingga kapasitas objek PVC dan volume persisten (PV) di kluster tetap tidak berubah. Untuk memastikan bahwa objek PV dan PVC di kluster mencerminkan kapasitas disk yang sebenarnya, kami menyarankan Anda untuk memperbesar volume disk secara online.
Metode ini mendukung perluasan online dan offline. Pilih metode sesuai kebutuhan.
Perluasan online: Aplikasi tidak dijeda. Namun, jika lalu lintas I/O tinggi selama perluasan sistem file secara online, kesalahan I/O mungkin terjadi.
Perluasan offline: Menjeda aplikasi juga akan menjeda I/O disk. Hal ini menjamin keamanan data selama perluasan sistem file secara offline, meskipun metode ini memerlukan downtime aplikasi.
Disk dasar tidak mendukung perluasan online. Gunakan perluasan offline untuk disk dasar.
Bagian-bagian berikut menggunakan contoh aplikasi dengan volume disk yang disediakan secara statis untuk menjelaskan cara memperbesar volume disk.
Perluasan online
Anda dapat memperbesar disk secara online di Konsol ECS tanpa menjeda aplikasi.
Langkah 1: Lihat informasi disk
Sambungkan ke kluster. Untuk informasi selengkapnya, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menyambung ke kluster atau Gunakan kubectl untuk menyambung ke kluster Kubernetes dari Workbench atau CloudShell.
Lihat informasi tentang Pod tempat disk disambungkan dan pastikan Pod berada dalam status Running.
kubectl get podContoh keluaran:
NAME READY STATUS RESTARTS AGE disk-test-0 1/1 Running 0 38sLihat PVC untuk mendapatkan ID disk.
kubectl get pvcKeluaran contoh menunjukkan bahwa PV yang terikat pada PVC adalah
d-uf628m33r5rsbi******(ID disk) dan kapasitasnya 20 GiB.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-uf628m33r5rsbi****** 20Gi RWO disk <unset> 64s
Langkah 2: Perbesar disk dan sistem file-nya
Masuk ke Konsol ECS.
Di panel navigasi sebelah kiri, pilih .
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya dari sumber daya yang ingin Anda kelola.
Temukan disk tempat aplikasi disambungkan berdasarkan ID disk. Pilih disk tersebut dan klik Expand di bagian bawah halaman.
Untuk informasi selengkapnya tentang cara memperbesar disk, lihat Perbesar disk (Linux).
Pada wizard yang muncul, ikuti petunjuk di layar untuk menyelesaikan perluasan.
Pada halaman Confirm Target Disk And Notes, konfirmasi informasi disk, baca catatan, lalu klik I Have Read The Notes And Backed Up The Data. Continue With Expansion..
Pada halaman Configure Expansion Method And Capacity, atur parameter perluasan dan klik Expand.
Parameter
Deskripsi
Contoh
Capacity After Expansion
Tetapkan kapasitas setelah perluasan. Kapasitas baru tidak boleh lebih kecil dari kapasitas saat ini.
30 GiB
Expansion Method
Pilih Online Expansion. Setelah perluasan, Anda tidak perlu me-restart instance. Kapasitas baru langsung berlaku.
Online Expansion
Pada halaman Confirm Expansion Results, konfirmasi bahwa kapasitas disk telah diperbesar, lalu klik Next: Expand Partitions And File Systems.
CatatanSetelah Anda memperbesar kapasitas disk, Anda juga harus memperbesar sistem file. Jika tidak, ruang penyimpanan yang tersedia untuk kontainer tetap tidak berubah.
Pada halaman Expand Partitions And File Systems, pilih Use Cloud Assistant, pilih Authorize This Cloud Assistant Operation, lalu klik Authorize.
Setelah operasi selesai, konfirmasi bahwa kapasitas disk dan sistem file keduanya telah diperbesar.

Perluasan offline
Jeda aplikasi dengan mengatur jumlah replika menjadi 0. Setelah disk diperbesar, Anda dapat menjalankan kembali aplikasi.
Langkah 1: Lihat informasi disk dan jeda aplikasi
Sambungkan ke kluster. Untuk informasi selengkapnya, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menyambung ke kluster atau Gunakan kubectl untuk menyambung ke kluster Kubernetes dari Workbench atau CloudShell.
Lihat informasi tentang Pod tempat disk disambungkan dan pastikan Pod berada dalam status Running.
kubectl get podContoh keluaran:
NAME READY STATUS RESTARTS AGE disk-test-0 1/1 Running 0 38sLihat PVC untuk mendapatkan ID disk.
kubectl get pvcKeluaran contoh menunjukkan bahwa PV yang terikat pada PVC adalah
d-uf628m33r5rsbi******(ID disk) dan kapasitasnya 20 GiB.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-uf628m33r5rsbi****** 20Gi RWO disk <unset> 64sUbah jumlah replika aplikasi menjadi 0 untuk menjeda aplikasi.
kubectl scale sts disk-test --replicas=0Keluaran yang diharapkan:
statefulset.apps/disk-test scaled
Langkah 2: Perbesar disk
Masuk ke Konsol ECS.
Di panel navigasi sebelah kiri, pilih .
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya dari sumber daya yang ingin Anda kelola.
Temukan disk tempat aplikasi disambungkan berdasarkan ID disk. Pilih disk tersebut dan klik Expand di bagian bawah halaman.
Pada wizard yang muncul, ikuti petunjuk di layar untuk menyelesaikan perluasan.
Pada halaman Confirm Target Disk And Notes, konfirmasi informasi disk, baca catatan, lalu klik I Have Read The Notes And Backed Up The Data. Continue With Expansion..
Pada halaman Configure Expansion Method And Capacity, atur parameter perluasan dan klik Expand.
Parameter
Deskripsi
Contoh
Capacity After Expansion
Tetapkan kapasitas setelah perluasan. Kapasitas baru tidak boleh lebih kecil dari kapasitas saat ini.
30 GiB
Expansion Method
Setelah aplikasi dijeda, disk berada dalam status Unattached. Anda hanya dapat memilih Offline Expansion.
Offline Expansion
Pada halaman Confirm Expansion Results, konfirmasi bahwa kapasitas disk telah diperbesar, lalu klik Next: Expand Partitions And File Systems.
Pada halaman Expand Partitions And File Systems, pilih Perform The Operations Based On The Documentation dan rujuk dokumen di bagian Expand Partitions And File Systems (Linux).
CatatanSetelah Anda memperbesar kapasitas disk, Anda juga harus memperbesar sistem file. Jika tidak, ruang penyimpanan yang tersedia untuk kontainer tetap tidak berubah.
Karena disk berada dalam status Unattached, Anda tidak dapat menggunakan Cloud Assistant. Anda harus memperbesar sistem file secara manual.
Langkah 3: Perbesar sistem file
Operasi berikut berlaku untuk disk yang tidak dipartisi.
Kami tidak menyarankan penggunaan disk yang dipartisi di Kubernetes.
Jika PV menggunakan disk yang tidak dipartisi, jangan partisi disk secara manual. Hal ini dapat merusak sistem file saat ini dan menyebabkan kehilangan data.
Jika PV menggunakan disk yang dipartisi, Anda harus memperbesar perangkat partisi sebelum memperbesar sistem file. Untuk informasi selengkapnya, lihat Perbesar partisi dan sistem file (Linux) atau Perbesar partisi dan sistem file (Windows).
Sambungkan disk ke instance ECS.
Di halaman Elastic Block Storage pada Konsol ECS, temukan disk target dan klik Attach di kolom Tindakan.
Pada wizard Attach To Instance, pilih instance ECS tempat Anda ingin menyambungkan disk, lalu klik Next.
PentingJangan memilih opsi pelepasan apa pun untuk disk.
Pada wizard Partition, Create File System, And Mount, klik Set Later di bagian Initialization Method.
Konfirmasi bahwa status disk berubah menjadi In Use.
Sambungkan ke instance ECS. Untuk informasi selengkapnya, lihat Ikhtisar metode untuk menyambung ke instance ECS.
Dapatkan nama perangkat disk.
Perintah berikut adalah contoh. Ganti
<serial>dengan nomor seri disk.Anda dapat dengan cepat menemukan nomor seri disk dari ID disk (ID Disk = d-{Nomor seri disk}). Untuk informasi selengkapnya, lihat Lihat nomor seri perangkat penyimpanan blok.
PentingJika disk dibuat sebelum 10 Juni 2020, fitur nomor seri tidak didukung. Anda tidak dapat menjalankan perintah berikut untuk mendapatkan nama perangkat disk. Sebagai gantinya, jalankan perintah
ls /dev/vd*sebelum dan sesudah menyambungkan disk, lalu bandingkan keluarannya untuk mengidentifikasi nama perangkat disk target.realpath /dev/disk/by-id/virtio-<serial>Keluaran contoh menunjukkan bahwa nama perangkat disk adalah
/dev/vdb./dev/vdbPerbesar sistem file.
Perintah berikut adalah contoh. Ganti placeholder dengan nama perangkat disk yang sebenarnya.
resize2fs /dev/vdbJika pesan kesalahan berikut dikembalikan, jalankan perintah
e2fsck -f /dev/vdbseperti yang diminta, lalu jalankan perintahresize2fs /dev/vdbuntuk memperbesar sistem file.resize2fs 1.46.0 (29-Jan-2020) Please run 'e2fsck -f /dev/vdb' first.Setelah Anda memperbesar sistem file, keluaran berikut diharapkan:
resize2fs 1.46.0 (29-Jan-2020) Resizing the filesystem on /dev/vdb to 7864320 (4k) blocks. The filesystem on /dev/vdb is now 7864320 (4k) blocks long.Konfirmasi bahwa sistem file telah diperbesar.
Buat folder sementara bernama
/mnt/disk/dan pasang disk ke folder sementara tersebut.mkdir /mnt/disk mount /dev/vdb /mnt/disk/Periksa ukuran sistem file.
df /mnt/disk/Keluaran yang diharapkan menunjukkan bahwa kapasitas
/dev/vdbtelah diperbesar menjadi 30 GiB.Filesystem 1K-blocks Used Available Use% Mounted on /dev/vdb 30787536 24 30771128 1% /mnt/diskLepaskan pemasangan disk dari folder sementara.
umount /mnt/disk
Lepaskan disk dari instance ECS. Untuk informasi selengkapnya, lihat Lepaskan disk data.
Langkah 4: Jalankan kembali aplikasi
Ubah jumlah replika aplikasi menjadi 1 untuk menjalankan kembali aplikasi.
kubectl scale sts disk-test --replicas=1Keluaran yang diharapkan:
statefulset.apps/disk-test scaledPeriksa apakah Pod telah dipulihkan.
kubectl get podKeluaran yang diharapkan:
NAME READY STATUS RESTARTS AGE disk-test-0 1/1 Running 0 5sPeriksa ukuran sistem file.
kubectl exec -it disk-test-0 -- df /dataKeluaran yang diharapkan menunjukkan bahwa sistem file yang sesuai dengan path pemasangan telah diperbesar.
Filesystem 1K-blocks Used Available Use% Mounted on /dev/vdb 30787536 24 30771128 1% /data