Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan driver SMB CSI
Ikuti prosedur di bagian ini untuk menginstal, mengonfigurasi, atau menghapus driver CSI yang diperlukan untuk menggunakan berbagi file SMB di Amazon S3 File Gateway untuk penyimpanan di cluster Kubernetes Anda. Untuk informasi selengkapnya, lihat dokumentasi driver SMB CSI sumber terbuka di. GitHub https://github.com/kubernetes-csi/csi-driver-smb/blob/master/docs/install-csi-driver-master.md
catatan
Ketika Anda membuat PersistentVolume objek atau StorageClass objek, Anda dapat menentukan ReclaimPolicy parameter untuk menentukan apa yang terjadi pada penyimpanan eksternal ketika objek dihapus. Driver SMB CSI mendukung Recycle opsi Retain dan, tetapi saat ini tidak mendukung opsi. Delete
Instal driver
Untuk menginstal driver Kubernetes SMB CSI:
-
Dari terminal baris perintah dengan akses ke
kubectlklaster Kubernetes Anda, jalankan perintah berikut:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh | bash -s master --
-
Tunggu sampai perintah sebelumnya selesai, lalu gunakan perintah berikut untuk memastikan bahwa pod driver CSI berjalan:
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-controller
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-node
Outputnya akan serupa dengan yang berikut ini:
NAME READY STATUS RESTARTS AGE IP NODE csi-smb-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 csi-smb-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-smb-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-smb-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0
Buat objek SMB StorageClass
Untuk membuat StorageClass objek SMB baru untuk klaster Kubernetes Anda:
-
Buat file konfigurasi bernama
storageclass.yamldengan konten yang mirip dengan contoh berikut. Gantikan informasi spesifik penerapan Anda sendiri dengan yang ditampilkan.ExampleValues--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name:ExampleStorageClassNameprovisioner: smb.csi.k8s.io parameters: source: "//gateway-dns-name-or-ip-address/example-share-name" # if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory # with PV name under source csi.storage.k8s.io/provisioner-secret-name: "examplesmbcreds" csi.storage.k8s.io/provisioner-secret-namespace: "examplenamespace" csi.storage.k8s.io/node-stage-secret-name: "examplesmbcreds" csi.storage.k8s.io/node-stage-secret-namespace: "examplenamespace" volumeBindingMode: Immediate reclaimPolicy: Retain mountOptions: - dir_mode=0777 - file_mode=0777 - uid=1001 - gid=1001 -
Dari terminal baris perintah dengan akses ke
kubectldanstorageclass.yaml, jalankan perintah berikut:kubectl apply -f storageclass.yaml
catatan
Anda juga dapat membuatnya StorageClass dengan menyediakan teks
.yamlkonfigurasi dari langkah sebelumnya ke sebagian besar platform manajemen dan kontainerisasi Kubernetes pihak ketiga. -
Konfigurasikan pod di klaster Kubernetes Anda untuk menggunakan yang baru StorageClass yang Anda buat. Untuk informasi lebih lanjut, lihat dokumentasi online Kubernetes di. https://kubernetes.io/docs/concepts/storage/
Buat SMB PersistentVolume dan objek PersistentVolumeClaim
Untuk membuat SMB PersistentVolume dan PersistentVolumeClaim objek baru:
-
Buat dua file konfigurasi. Satu bernama
persistentvolume.yaml, dan satu bernamapersistentvolumeclaim.yaml. -
Untuk
persistentvolume.yaml, tambahkan konten yang mirip dengan contoh berikut. Gantikan informasi spesifik penerapan Anda sendiri dengan yang ditampilkan.ExampleValues--- apiVersion: v1 kind: PersistentVolume metadata: name:pv-smb-example-namenamespace:smb-example-namespace# PersistentVolume and PersistentVolumeClaim must use the same namespace parameter spec: capacity: storage: 100Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - dir_mode=0777 - file_mode=0777 - vers=3.0 csi: driver: smb.csi.k8s.io readOnly: false volumeHandle:examplehandle# make sure it's a unique id in the cluster volumeAttributes: source: "//gateway-dns-name-or-ip-address/example-share-name" nodeStageSecretRef: name:example-smbcredsnamespace:smb-example-namespace -
Untuk
persistentvolumeclaim.yaml, tambahkan konten yang mirip dengan contoh berikut. Gantikan informasi spesifik penerapan Anda sendiri dengan yang ditampilkan.ExampleValues--- kind: PersistentVolumeClaim apiVersion: v1 metadata: name:examplename-pvc-smb-staticnamespace:smb-example-namespace# PersistentVolume and PersistentVolumeClaim must use the same namespace parameter spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName:pv-smb-example-name# make sure specfied volumeName matches the name of the PersistentVolume you created storageClassName: "" -
Dari terminal baris perintah dengan akses ke
kubectldan kedua.yamlfile yang Anda buat, jalankan perintah berikut:kubectl apply -f persistentvolume.yaml
kubectl apply -f persistentvolumeclaim.yaml
catatan
Anda juga dapat membuat PersistentVolumeClaim objek PersistentVolume dan dengan menyediakan teks
.yamlkonfigurasi dari langkah sebelumnya ke sebagian besar platform manajemen dan kontainerisasi Kubernetes pihak ketiga. -
Konfigurasikan pod di klaster Kubernetes Anda untuk menggunakan yang baru PersistentVolumeClaim yang Anda buat. Untuk informasi lebih lanjut, lihat dokumentasi online Kubernetes di. https://kubernetes.io/docs/concepts/storage/
Copot pemasangan driver
Untuk menghapus driver Kubernetes SMB CSI:
-
Dari terminal baris perintah dengan akses ke
kubectlklaster Kubernetes Anda, jalankan perintah berikut:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --