Versi klien ossfs 1.0 ditingkatkan seiring iterasi CSI. Topik ini menjelaskan format versi, cara memeriksa versi ossfs Anda, dan cara beralih ke versi 1.91 atau yang lebih baru.
Cara kerja ossfs
ossfs 1.0 adalah filesystem userspace yang memasang bucket OSS ke filesystem lokal Linux. Saat Anda memasang volume OSS dengan CSI, csi-plugin menjalankan proses ossfs yang memasang bucket tersebut ke path kontainer, sehingga memungkinkan operasi baca dan tulis POSIX pada objek OSS.
ossfs 1.0 mewarisi semua fitur s3fs dan menambahkan:
-
Sebagian besar operasi file POSIX, termasuk unggah dan unduh file serta direktori, serta pengelolaan izin
-
Unggah multipart dan unggah yang dapat dilanjutkan, diaktifkan secara default
-
Verifikasi MD5 untuk integritas data
Batasan
ossfs 1.0 mendukung sebagian besar, tetapi tidak semua, fitur sistem file POSIX. Untuk operasi file berkinerja tinggi, gunakan ossfs versi 1.91 atau yang lebih baru. Lihat Praktik terbaik untuk mengaktifkan versi 1.91 dan yang lebih baru.
Format versi
Nomor versi ossfs 1.0 mengikuti format x.yy.z:
-
x.yy — versi upstream s3fs. Kembalikan ke versi x.yy tertentu menggunakan variabel lingkungan CSI.
-
z — versi iterasi ossfs, yang menambahkan peningkatan khusus OSS dan ACK seperti pemantauan, otentikasi, dan enkripsi. Lihat csi-plugin.
Build kontainer menyertakan akhiran .ack.1 untuk membedakannya dari rilis ossfs open source, misalnya, 1.80.6.ack.1.
Kompatibilitas versi
Versi ossfs bergantung pada versi CSI:
| Arsitektur | Versi ossfs 1.0 | Versi CSI |
|---|---|---|
| Arm64 | 1.91 dan yang lebih baru | v1.30.1-98960d8-aliyun (diaktifkan melalui feature gate) / v1.30.4-fe12624-aliyun (default) |
| Arm64 | 1.80.x | v1.20.5-ff6490f-aliyun (versi CSI pertama yang mendukung Arm64) |
| AMD64 | 1.91 dan yang lebih baru | v1.30.1-98960d8-aliyun (diaktifkan melalui feature gate) / v1.30.4-fe12624-aliyun (default) |
| AMD64 | 1.88.x | v1.22.14-820d8870-aliyun |
| AMD64 | 1.86.x | v1.16.9.43-f36bb540-aliyun |
| AMD64 | 1.80.x | Versi awal |
Lihat Fitur pembaruan versi.
Periksa versi ossfs
Cara memeriksa versi ossfs bergantung pada versi CSI Anda.
CSI sebelum versi 1.28 (dan bukan 1.26.6) — ossfs berjalan langsung di node. Masuk ke salah satu node dan jalankan:
/usr/local/bin/ossfs --version
CSI 1.26.6, atau 1.28.1 atau yang lebih baru — ossfs berjalan sebagai pod kontainer di dalam kluster. Pilih versi CSI Anda di bawah ini.
CSI 1.30.4 atau yang lebih baru
CSI 1.30.4 atau yang lebih baru membuat pod ossfs di namespace ack-csi-fuse setelah Anda memasang volume OSS.
-
Daftar pod ossfs yang sedang berjalan:
kubectl -n ack-csi-fuse get pod | grep csi-fuse-ossfs -
Periksa versi ossfs:
kubectl -n ack-csi-fuse exec -it <csi-fuse-ossfs-xxxx> -- ossfs --version
CSI sebelum 1.30.4
Versi CSI sebelum 1.30.4 membuat pod ossfs di namespace kube-system.
-
Daftar pod ossfs yang sedang berjalan:
kubectl -n kube-system get pod | grep csi-fuse-ossfs -
Periksa versi ossfs:
kubectl -n kube-system exec -it <csi-fuse-ossfs-xxxx> -- ossfs --version
Beralih ke ossfs 1.91 atau yang lebih baru
Pilih metode berdasarkan versi CSI Anda.
Upgrade CSI (disarankan)
CSI 1.30.4 atau yang lebih baru menggunakan ossfs 1.91+ secara default, sehingga upgrade CSI akan secara otomatis beralih ke versi ossfs tersebut.
Aktifkan feature gate UpdatedOssfsVersion
Jika Anda tidak dapat melakukan upgrade CSI, aktifkan feature gate UpdatedOssfsVersion pada CSI versi 1.30.1 atau yang lebih baru.
Apa yang berubah dan apa yang tidak:
-
Kontainer ossfs yang baru diluncurkan secara otomatis menggunakan versi 1.91 atau yang lebih baru.
-
Aplikasi yang sudah ada dan menggunakan volume OSS tidak langsung terpengaruh.
-
Untuk meningkatkan aplikasi yang sedang berjalan, restart proses ossfs-nya. Lihat Bagaimana cara me-restart proses ossfs dalam mode shared mount?
Secara default, pod yang memasang volume OSS yang sama pada node yang sama berbagi satu proses ossfs, sehingga hanya satu pod csi-fuse-ossfs-*** yang berjalan per volume bersama.
Prasyarat
-
csi-plugin adalah versi 1.30.1 atau yang lebih baru.
Untuk memeriksa versi csi-plugin Anda:
-
Masuk ke Konsol ACK, lalu klik Clusters di panel navigasi kiri.
-
Klik nama kluster Anda, lalu klik Add-ons di panel navigasi kiri.
-
Di halaman Add-ons, temukan csi-plugin dan periksa versinya. Jika versinya sebelum 1.30.1, klik Upgrade pada kartu csi-plugin.
Aktifkan melalui kubectl
-
Edit DaemonSet csi-plugin:
kubectl -n kube-system edit ds csi-plugin -
Di bagian
argskontainer csi-plugin (bukan init container), tambahkan flag feature gate:- args: - --endpoint=$(CSI_ENDPOINT) - --v=2 - --driver=oss,nas,disk - --feature-gates=UpdatedOssfsVersion=trueJika feature gate lain sudah diaktifkan, tambahkan ke nilai
--feature-gatesyang sudah ada:- --feature-gates=xxxxxx=true,yyyyyy=false,UpdatedOssfsVersion=true
Aktifkan melalui Konsol ACK
Mengaktifkan feature gate dari konsol akan menimpa konfigurasi feature gate yang sudah ada. Jika Anda tidak yakin apakah feature gate lain telah diaktifkan, gunakan kubectl sebagai gantinya.
-
Di halaman Add-ons, klik Configuration pada kartu csi-plugin.
-
Di halaman csi-plugin Parameters, atur FeatureGate menjadi
UpdatedOssfsVersion=truedan klik OK. Jika feature gate lain sudah diaktifkan, gunakan formatxxxxxx=true,yyyyyy=false,UpdatedOssfsVersion=true.