Dengan ossfs 1.0, Anda dapat memasang Bucket Object Storage Service (OSS) yang sudah ada sebagai penyimpanan persisten dengan membuat volume penyediaan statis. Metode ini ideal untuk kasus penggunaan umum yang melibatkan pembacaan konkuren, penulisan acak yang jarang terjadi, serta modifikasi izin file—seperti memasang file konfigurasi, gambar, atau sumber daya video.
Prasyarat
Pastikan kluster dan komponen Container Storage Interface (CSI) Anda (csi-plugin dan csi-provisioner) memenuhi persyaratan versi berikut:
Pasang menggunakan autentikasi RAM Roles for Service Accounts (RRSA): Kluster Anda harus menggunakan versi 1.26 atau lebih baru, dan versi CSI Anda harus v1.30.4 atau lebih baru.
Jika Anda menggunakan fitur RRSA pada versi sebelum 1.30.4, tambahkan konfigurasi otorisasi Peran RAM seperti yang dijelaskan dalam [Perubahan Produk] Peningkatan versi CSI ossfs dan optimasi proses pemasangan.
Gunakan AccessKey: Untuk pemasangan yang stabil, kami merekomendasikan CSI v1.18.8.45 atau lebih baru.
Untuk meningkatkan kluster Anda, lihat Tingkatkan kluster secara manual. Untuk meningkatkan komponen, lihat Peningkatan komponen CSI.
Mulai dari CSI v1.30.4-*, pemasangan volume penyediaan statis OSS bergantung pada komponen csi-provisioner.
Langkah 1: Pilih metode autentikasi dan siapkan kredensial
Untuk mengakses sumber daya Bucket OSS secara aman, konfigurasikan terlebih dahulu mekanisme autentikasi.
Autentikasi RRSA: Memberikan peran RAM sementara yang secara otomatis berputar kepada Pod untuk isolasi izin tingkat aplikasi yang detail halus. Metode ini lebih aman.
Autentikasi AccessKey: Menyimpan kunci statis jangka panjang dalam Secret. Metode ini lebih mudah dikonfigurasi tetapi kurang aman.
Pada kluster versi 1.26 dan lebih baru, kami merekomendasikan menggunakan autentikasi RRSA untuk menghindari gangguan layanan akibat remount
ossfssaat AccessKey diputar.Panduan ini mengasumsikan kluster dan Bucket OSS berada dalam Akun Alibaba Cloud yang sama. Untuk memasang Bucket OSS lintas akun, kami merekomendasikan menggunakan autentikasi RRSA.
Gunakan RRSA
1. Aktifkan RRSA di kluster Anda
Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel kiri, klik Cluster Information.
Pada tab Basic Information, cari bagian Security and Auditing. Di sebelah kanan RRSA OIDC, klik Enable. Ikuti petunjuk di layar untuk mengaktifkan RRSA selama jam sepi.
Saat status kluster berubah dari Updating menjadi Running, RRSA telah berhasil diaktifkan.
PentingSetelah Anda mengaktifkan RRSA, periode validitas maksimum untuk token ServiceAccount baru yang dibuat di kluster dibatasi hingga 12 jam.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
2. Buat dan otorisasi peran RAM
Buat peran RAM yang dapat diasumsikan oleh Pod Anda untuk mengakses volume OSS.
Gunakan AccessKey
Buat pengguna RAM dengan izin akses OSS dan peroleh AccessKey-nya. Ini memberikan izin kepada pengguna untuk melakukan operasi pada Bucket OSS.
Buat pengguna RAM (lewati langkah ini jika Anda sudah memilikinya).
Buka halaman Create User di konsol RAM. Ikuti petunjuk di layar untuk membuat pengguna RAM. Anda harus menetapkan nama login dan kata sandi.
Buat kebijakan akses.
Contoh ini mengikuti prinsip hak istimewa minimal. Buat kebijakan kustom untuk memberikan izin mengakses Bucket OSS target (izin read-only atau read/write).
Buka halaman Create Policy di konsol RAM. Alihkan ke tab Script Editor lalu masukkan skrip kebijakan.
Kebijakan read-only OSS
Ganti
<myBucketName>dengan nama bucket aktual.{ "Statement": [ { "Action": [ "oss:Get*", "oss:List*" ], "Effect": "Allow", "Resource": [ "acs:oss:*:*:<myBucketName>", "acs:oss:*:*:<myBucketName>/*" ] } ], "Version": "1" }OSS Kebijakan baca/tulis
Ganti
<myBucketName>dengan nama bucket aktual.{ "Statement": [ { "Action": "oss:*", "Effect": "Allow", "Resource": [ "acs:oss:*:*:<myBucketName>", "acs:oss:*:*:<myBucketName>/*" ] } ], "Version": "1" }Saat Anda membuat PV di konsol, Anda juga memerlukan izin
oss:ListBuckets.{ "Effect": "Allow", "Action": "oss:ListBuckets", "Resource": "*" }(Opsional) Jika Anda menggunakan ID customer master key (CMK) yang dikelola oleh KMS untuk mengenkripsi objek OSS, Anda juga harus mengonfigurasi izin KMS untuk pengguna RAM tersebut. Untuk informasi lebih lanjut, lihat Gunakan ID CMK tertentu yang dikelola oleh KMS untuk enkripsi.
Berikan kebijakan kepada pengguna RAM.
Buka halaman Users di konsol RAM. Di kolom Actions untuk pengguna target, klik Add Permissions.
Di bagian Access Policy, cari dan pilih kebijakan yang Anda buat pada langkah sebelumnya, lalu tambahkan ke izin tersebut.
Buat AccessKey untuk pengguna RAM. Anda akan menyimpannya sebagai secret agar digunakan oleh PV.
Buka halaman Users di konsol RAM. Klik pengguna target. Lalu, di bagian AccessKey, klik Create AccessKey.
Pada kotak dialog yang muncul, ikuti petunjuk di layar untuk membuat AccessKey. Anda harus memperoleh dan menyimpan secara aman ID AccessKey dan Rahasia AccessKey.
Langkah 2: Buat PV
Buat Persistent Volume (PV) untuk mendaftarkan Bucket OSS yang sudah ada ke dalam kluster Anda.
Metode RRSA
Buat file bernama
pv-oss-rrsa.yaml.apiVersion: v1 kind: PersistentVolume metadata: # Nama PV name: pv-oss # Label PV labels: alicloud-pvname: pv-oss spec: capacity: # Tentukan kapasitas volume storage: 10Gi # Mode akses accessModes: - ReadOnlyMany persistentVolumeReclaimPolicy: Retain csi: driver: ossplugin.csi.alibabacloud.com # Harus sama dengan nama PV (metadata.name) volumeHandle: pv-oss volumeAttributes: # Ganti dengan nama bucket aktual bucket: "your-bucket-name" # Pasang direktori root atau subdirektori tertentu dari bucket path: / # Titik akhir wilayah tempat bucket berada url: "http://oss-cn-hangzhou-internal.aliyuncs.com" otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other" authType: "rrsa" # Peran RAM yang telah Anda buat atau modifikasi roleName: "demo-role-for-rrsa" # Versi signature permintaan OSS sigVersion: "v4"Parameter
Deskripsi
storageMenentukan kapasitas volume OSS. Nilai ini hanya digunakan untuk mencocokkan PV dengan PVC.
accessModesMengonfigurasi Mode Akses. Mendukung
ReadOnlyManydanReadWriteMany.Jika Anda memilih
ReadOnlyMany, ossfs memasang Bucket OSS dalam mode read-only.persistentVolumeReclaimPolicyKebijakan pengembalian PV. Volume OSS saat ini hanya mendukung
Retain, artinya PV dan data di Bucket OSS tetap dipertahankan setelah PVC dihapus.driverMenentukan jenis driver. Harus
ossplugin.csi.alibabacloud.comsaat menggunakan plug-in CSI OSS Alibaba Cloud.volumeHandleHarus sama dengan nama PV (
metadata.name).bucketBucket OSS yang akan dipasang.
pathMembutuhkan versi komponen CSI v1.14.8.32-c77e277b-aliyun atau lebih baru.
Menentukan jalur pemasangan relatif terhadap direktori root bucket. Default-nya adalah
/, yang memasang seluruh bucket.Jika versi ossfs lebih awal dari 1.91,
pathyang ditentukan harus sudah ada di Bucket OSS. Untuk detailnya, lihat Fitur baru di ossfs 1.91 dan versi setelahnya.urlTitik akhir akses untuk bucket OSS.
Gunakan titik akhir internal jika node kluster dan bucket berada di wilayah yang sama, atau jika koneksi Virtual Private Cloud (VPC) telah dibuat.
Gunakan titik akhir publik jika node pemasangan dan bucket berada di wilayah berbeda.
Berikut adalah format umum untuk berbagai titik akhir akses:
Internal:
http://oss-{{regionName}}-internal.aliyuncs.comatauhttps://oss-{{regionName}}-internal.aliyuncs.com.Format titik akhir akses internal
vpc100-oss-{{regionName}}.aliyuncs.comsudah tidak digunakan lagi. Segera beralih ke format baru.Publik:
http://oss-{{regionName}}.aliyuncs.comatauhttps://oss-{{regionName}}.aliyuncs.com.
otherOptsMasukkan parameter kustom untuk volume OSS dalam format
-o *** -o ***, seperti-o umask=022 -o max_stat_cache_size=100000 -o allow_other.authTypeAtur ke
rrsauntuk menggunakan autentikasi RRSA.roleNameAtur ke peran RAM yang telah Anda buat atau modifikasi.
Untuk mengonfigurasi izin berbeda untuk PV berbeda, buat peran RAM berbeda dan tentukan nilai
roleNameberbeda di PV tersebut.sigVersionVersi signature untuk permintaan ke server OSS.
"v1"(default): Menggunakan Signature Version 1 OSS."v4"(direkomendasikan): Menggunakan Signature Version 4 OSS.
Jika autentikasi RRSA default tidak memenuhi kebutuhan Anda (misalnya, jika Anda menggunakan ServiceAccount non-default atau OIDC pihak ketiga), Anda dapat memodifikasi konfigurasi PV untuk menentukan ARN atau ServiceAccount tertentu. Untuk informasi lebih lanjut, lihat Bagaimana cara menggunakan ARN atau ServiceAccount tertentu dengan autentikasi RRSA?.
Buat PV tersebut.
kubectl create -f pv-oss-rrsa.yaml
Metode AccessKey
kubectl
Buat file bernama
oss-secret.yamluntuk menyimpan AccessKey yang diperoleh di Langkah 1 sebagai secret untuk digunakan oleh PV.apiVersion: v1 kind: Secret metadata: name: oss-secret # Harus sama dengan namespace tempat aplikasi berada namespace: default stringData: # Ganti dengan ID AccessKey yang Anda peroleh akId: <your AccessKey ID> # Ganti dengan Rahasia AccessKey yang Anda peroleh akSecret: <your AccessKey Secret>Buat Secret tersebut.
kubectl create -f oss-secret.yamlBuat file bernama
pv-oss-ram.yaml.apiVersion: v1 kind: PersistentVolume metadata: # Nama PV name: pv-oss # Label PV labels: alicloud-pvname: pv-oss spec: capacity: storage: 10Gi accessModes: - ReadOnlyMany persistentVolumeReclaimPolicy: Retain csi: driver: ossplugin.csi.alibabacloud.com # Harus sama dengan nama PV (metadata.name) volumeHandle: pv-oss # Tentukan objek secret untuk memperoleh Informasi AccessKey nodePublishSecretRef: name: oss-secret namespace: default volumeAttributes: # Ganti dengan nama bucket aktual bucket: "your-bucket-name" url: "http://oss-cn-hangzhou-internal.aliyuncs.com" otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other" path: "/"Parameter
Deskripsi
storageMenentukan kapasitas volume OSS. Nilai ini hanya digunakan untuk mencocokkan PV dengan PVC.
accessModesMengonfigurasi Mode Akses. Mendukung
ReadOnlyManydanReadWriteMany.Jika Anda memilih
ReadOnlyMany, ossfs memasang Bucket OSS dalam mode read-only.persistentVolumeReclaimPolicyKebijakan pengembalian PV. Volume OSS saat ini hanya mendukung
Retain, artinya PV dan data di Bucket OSS tetap dipertahankan setelah PVC dihapus.driverMenentukan jenis driver. Harus
ossplugin.csi.alibabacloud.comsaat menggunakan plug-in CSI OSS Alibaba Cloud.nodePublishSecretRefMenentukan Secret yang menyediakan informasi AccessKey saat memasang PV.
volumeHandleHarus sama dengan nama PV (
metadata.name).bucketBucket OSS yang akan dipasang.
urlTitik akhir akses untuk bucket OSS.
Gunakan titik akhir internal jika node kluster dan bucket berada di wilayah yang sama, atau jika koneksi Virtual Private Cloud (VPC) telah dibuat.
Gunakan titik akhir publik jika node pemasangan dan bucket berada di wilayah berbeda.
Berikut adalah format umum untuk berbagai titik akhir akses:
Internal:
http://oss-{{regionName}}-internal.aliyuncs.comatauhttps://oss-{{regionName}}-internal.aliyuncs.com.Format titik akhir akses internal
vpc100-oss-{{regionName}}.aliyuncs.comsudah tidak digunakan lagi. Segera beralih ke format baru.Publik:
http://oss-{{regionName}}.aliyuncs.comatauhttps://oss-{{regionName}}.aliyuncs.com.
otherOptsMasukkan parameter kustom untuk volume OSS dalam format
-o *** -o ***, seperti-o umask=022 -o max_stat_cache_size=100000 -o allow_other.pathMembutuhkan versi komponen CSI v1.14.8.32-c77e277b-aliyun atau lebih baru.
Menentukan jalur pemasangan relatif terhadap direktori root bucket. Default-nya adalah
/, yang memasang seluruh bucket.Jika versi ossfs lebih awal dari 1.91,
pathyang ditentukan harus sudah ada di Bucket OSS. Untuk detailnya, lihat Fitur baru di ossfs 1.91 dan versi setelahnya.sigVersionVersi signature untuk permintaan ke server OSS.
"v1"(default): Menggunakan Signature Version 1 OSS."v4"(direkomendasikan): Menggunakan Signature Version 4 OSS.
Buat PV tersebut.
kubectl create -f pv-oss-ram.yaml
Konsol
Simpan AccessKey yang diperoleh di Langkah 1 sebagai secret agar digunakan oleh PV.
Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel kiri, pilih .
Klik Create From YAML dan ikuti petunjuk di layar untuk membuat secret.
apiVersion: v1
kind: Secret
metadata:
name: oss-secret
# Harus sama dengan namespace tempat aplikasi berada
namespace: default
stringData:
# Ganti dengan ID AccessKey yang Anda peroleh
akId: <your AccessKey ID>
# Ganti dengan Rahasia AccessKey yang Anda peroleh
akSecret: <your AccessKey Secret>Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel kiri, pilih .
Pada halaman PersistentVolumes, klik Create. Atur Volume Type ke OSS, konfigurasikan parameter, lalu kirimkan.
Tabel berikut mencantumkan parameter utama.
Parameter
Deskripsi
Total Capacity
Kapasitas volume yang akan dibuat.
Access Mode
Mengonfigurasi Mode Akses. Mendukung
ReadOnlyManydanReadWriteMany.Jika Anda memilih
ReadOnlyMany, ossfs memasang Bucket OSS dalam mode read-only.Access Credential
Konfigurasikan secret yang diperlukan untuk mengakses OSS. Ini adalah ID AccessKey dan Rahasia AccessKey yang diperoleh di Langkah 1.
Optional Parameters
Masukkan parameter kustom untuk volume OSS dalam format
-o *** -o ***, seperti-o umask=022 -o max_stat_cache_size=100000 -o allow_other.Bucket ID
Bucket OSS yang akan digunakan.
Hanya bucket yang dapat diakses dengan AccessKey yang dikonfigurasi yang ditampilkan di sini.
OSS Path
Membutuhkan versi komponen CSI v1.14.8.32-c77e277b-aliyun atau lebih baru.
Menentukan jalur pemasangan relatif terhadap direktori root bucket. Default-nya adalah
/, yang memasang seluruh bucket.Jika versi ossfs lebih awal dari 1.91,
pathyang ditentukan harus sudah ada di Bucket OSS. Untuk detailnya, lihat Fitur baru di ossfs 1.91 dan versi setelahnya.Endpoint
Titik akhir akses untuk bucket OSS.
Gunakan titik akhir internal jika node kluster dan bucket berada di wilayah yang sama, atau jika koneksi Virtual Private Cloud (VPC) telah dibuat.
Gunakan titik akhir publik jika node pemasangan dan bucket berada di wilayah berbeda.
Berikut adalah format umum untuk berbagai titik akhir akses:
Internal:
http://oss-{{regionName}}-internal.aliyuncs.comatauhttps://oss-{{regionName}}-internal.aliyuncs.com.Format titik akhir akses internal
vpc100-oss-{{regionName}}.aliyuncs.comsudah tidak digunakan lagi. Segera beralih ke format baru.Publik:
http://oss-{{regionName}}.aliyuncs.comatauhttps://oss-{{regionName}}.aliyuncs.com.
Saat Anda mengakses melalui jaringan internal, protokol HTTP digunakan secara default. Untuk menggunakan HTTPS, gunakan metode kubectl.
Langkah 3: Buat PVC
Buat PersistentVolumeClaim (PVC) untuk meminta kapasitas penyimpanan persisten yang dibutuhkan oleh aplikasi Anda.
kubectl
Buat file bernama
pvc-oss.yaml.apiVersion: v1 kind: PersistentVolumeClaim metadata: # Nama PVC name: pvc-oss namespace: default spec: # Konfigurasikan mode akses. ReadOnlyMany menunjukkan bahwa ossfs akan memasang Bucket OSS dalam mode read-only. accessModes: - ReadOnlyMany resources: requests: # Nyatakan kapasitas penyimpanan. Ini tidak boleh lebih besar dari total kapasitas volume. storage: 10Gi selector: matchLabels: # Cocokkan PV berdasarkan label-nya alicloud-pvname: pv-ossBuat PVC tersebut.
kubectl create -f pvc-oss.yamlPeriksa status PVC.
kubectl get pvc pvc-ossOutput menunjukkan bahwa PVC berada dalam status
Boundke PV.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE pvc-oss Bound pv-oss 10Gi ROX <unset> 6s
Konsol
Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel kiri, pilih .
Pada halaman PersistentVolumeClaims, klik Create. Pilih OSS sebagai PVC Type, lalu konfigurasikan parameter sesuai petunjuk.
Tabel berikut mencantumkan parameter utama.
Parameter
Deskripsi
Provisioning Mode
Pilih Use Existing PersistentVolume.
Jika Anda belum membuat PV, Anda dapat mengatur Provisioning Mode ke Create PersistentVolume dan mengonfigurasi parameter PV.
Total Capacity
Kapasitas PVC, yang tidak boleh melebihi kapasitas PV.
Langkah 4: Buat aplikasi dan pasang volume
Referensikan PVC dalam aplikasi Anda untuk menyelesaikan pemasangan.
kubectl
Buat file bernama
oss-static.yaml.apiVersion: apps/v1 kind: Deployment metadata: name: oss-static labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx 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: # Jalur pemasangan di dalam kontainer - name: pvc-oss mountPath: "/data" # Konfigurasikan pemeriksaan kesehatan livenessProbe: exec: command: - ls - /data initialDelaySeconds: 30 periodSeconds: 30 volumes: - name: pvc-oss persistentVolumeClaim: # Referensikan PVC yang telah Anda buat claimName: pvc-ossBuat aplikasi tersebut.
kubectl create -f oss-static.yamlVerifikasi hasil pemasangan.
Pastikan Pod berada dalam status
Running.kubectl get pod -l app=nginxMasuk ke Pod dan periksa titik pemasangan.
kubectl exec -it <pod-name> -- ls /dataOutput harus menampilkan data dari jalur pemasangan OSS.
Konsol
Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel kiri, pilih .
Di pojok kanan atas halaman Deployments, klik Create from Image.
Konfigurasikan parameter aplikasi sesuai petunjuk.
Parameter utama dijelaskan di bawah ini. Anda dapat mempertahankan nilai default untuk parameter lainnya. Untuk detailnya, lihat Buat workload tanpa status (Deployment).
Halaman Konfigurasi
Parameter
Deskripsi
Basic Information
Number Of Replicas
Jumlah replika untuk Deployment.
Container Configuration
Image Name
Alamat citra yang digunakan untuk menerapkan aplikasi, seperti
anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6.Required Resources
Sumber daya vCPU dan memori yang dibutuhkan.
Volume
Klik Add Cloud Storage Claim dan konfigurasikan parameter.
Mount Source: Pilih PVC yang telah Anda buat sebelumnya.
Container Path: Masukkan jalur di dalam kontainer tempat volume OSS harus dipasang, seperti
/data.
Labels And Annotations
Pod Label
Misalnya, label dengan nama
appdan nilainginx.Periksa status penerapan aplikasi.
Pada halaman Deployments, klik nama aplikasi. Pada tab Pods, pastikan Pod berjalan normal (status Running).
Langkah 5: Verifikasi penyimpanan bersama dan persisten
Verifikasi penyimpanan bersama
Buat file di salah satu Pod, lalu periksa keberadaannya di Pod lain untuk memverifikasi fitur penyimpanan bersama.
Lihat informasi Pod dan catat nama Pod dari output berikut:
kubectl get pod -l app=nginxBuat file bernama
tmpfiledi salah satu Pod. Untuk Pod bernamaoss-static-66fbb85b67-d****:ReadWriteMany: Buat filetmpfiledi jalur/data.kubectl exec oss-static-66fbb85b67-d**** -- touch /data/tmpfileReadOnlyMany: Unggah filetmpfileke jalur yang sesuai di Bucket OSS menggunakan Konsol OSS atau dengan mengunggah file dengan cp.
Lihat file dari jalur pemasangan Pod lainnya.
Untuk Pod bernama
oss-static-66fbb85b67-l****dengan jalur pemasangan/data:kubectl exec oss-static-66fbb85b67-l**** -- ls /data | grep tmpfileOutput
tmpfilemengonfirmasi bahwa Pod tersebut berbagi data.tmpfileJika output yang diharapkan tidak muncul, pastikan versi komponen CSI Anda adalah v1.20.7 atau lebih baru.
Verifikasi penyimpanan persisten
Hapus dan buat ulang Pod, lalu periksa apakah file tersebut masih ada di Pod baru untuk memverifikasi persistensi data.
Hapus Pod aplikasi untuk memicu pembuatan ulang:
kubectl delete pod oss-static-66fbb85b67-d****Periksa status Pod dan tunggu hingga Pod baru berjalan serta mencapai status
Running:kubectl get pod -l app=nginxPeriksa keberadaan file di jalur
/data.Untuk Pod baru bernama
oss-static-66fbb85b67-z****dengan jalur pemasangan/data:kubectl exec oss-static-66fbb85b67-z**** -- ls /data | grep tmpfileOutput
tmpfilemengonfirmasi bahwa file tersebut masih ada, menunjukkan bahwa data dipertahankan.tmpfile
Pertimbangan penting
Risiko Integritas Data
Risiko Konsistensi Tulis Konkuren: Untuk meningkatkan stabilitas operasi tulis, kami merekomendasikan meningkatkan komponen CSI ke versi 1.28 atau lebih baru. Namun, pada skenario tulis konkuren terhadap satu file, fitur "overwrite upload" OSS masih berpotensi menimpa data. Pastikan konsistensi data dikelola di lapisan aplikasi.
Risiko Sinkronisasi Data dan Penghapusan Tidak Sengaja: Saat volume dipasang, setiap penghapusan atau modifikasi file di jalur pemasangan—baik dari Pod aplikasi maupun node host—akan langsung disinkronkan ke file sumber di Bucket OSS. Untuk mencegah kehilangan data tidak sengaja, aktifkan Versioning pada Bucket OSS Anda.
Risiko Stabilitas Aplikasi
Risiko Out of Memory (OOM): Saat menjalankan operasi
readdir(misalnya, perintahlsdalam skrip shell) pada jumlah besar file untuk pertama kalinya (misalnya, lebih dari 100.000 file, tergantung pada kapasitas memori node), ossfs dapat mengonsumsi banyak memori karena memuat seluruh metadata sekaligus. Hal ini berpotensi memicu error Out of Memory (OOM), menghentikan proses, dan membuat titik pemasangan tidak tersedia.Untuk mengurangi risiko ini, pasang subdirektori Bucket OSS atau optimalkan struktur direktori Anda.
Waktu Pemasangan Meningkat: Mengonfigurasi
securityContext.fsgroupdalam aplikasi menyebabkan kubelet secara rekursif mengubah izin file (chmod/chown) saat memasang volume. Jika terdapat banyak file, proses ini secara signifikan memperpanjang waktu pemasangan dan dapat menyebabkan penundaan startup Pod yang parah.Jika Anda perlu mengonfigurasi parameter ini sekaligus meminimalkan waktu pemasangan, lihat Waktu Pemasangan Meningkat untuk Volume OSS.
Risiko Invalisasi Kunci (Autentikasi AccessKey): Jika AccessKey menjadi tidak valid atau izinnya diubah, aplikasi akan langsung kehilangan akses.
Untuk memulihkan akses, perbarui kredensial di Secret dan restart Pod aplikasi guna memaksa remount, yang akan menyebabkan gangguan layanan. Lakukan operasi ini selama jendela pemeliharaan. Untuk detail selengkapnya, lihat Solusi.
Risiko Biaya
Biaya Part:
ossfsmengunggah file yang berukuran lebih dari 10 MB dalam bentuk part. Jika unggahan terganggu secara tak terduga (misalnya, akibat restart aplikasi), Anda harus menghapus part secara manual atau menghapusnya menggunakan aturan siklus hidup. Langkah ini mencegah part yang tidak lengkap memakan ruang penyimpanan dan menimbulkan biaya tambahan.
Dokumentasi terkait
Anda dapat mengelola volume OSS melalui Container Network File System (CNFS) untuk meningkatkan kinerja dan kontrol QoS. Untuk detailnya, lihat Kelola siklus hidup volume OSS.
Untuk melindungi data sensitif yang disimpan di OSS, kami merekomendasikan mengaktifkan Enkripsi Sisi Server. Untuk detailnya, lihat Enkripsi volume ossfs 1.0.
Untuk pertanyaan umum tentang ossfs dan OSS, lihat ossfs 1.0 (default) dan FAQ volume ossfs 1.0.
Aktifkan pemantauan penyimpanan kontainer dan konfigurasikan alert untuk mendeteksi anomali volume atau bottleneck kinerja secara cepat.
ossfs 1.0 memberikan konsistensi data yang lebih andal untuk skenario tulis acak dan konkuren dibandingkan ossfs 2.0. Namun, ossfs 2.0 menawarkan kinerja lebih baik untuk skenario baca/tulis berurutan.