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
kubectl
klaster 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.yaml
dengan 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:
ExampleStorageClassName
provisioner: 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
kubectl
danstorageclass.yaml
, jalankan perintah berikut:kubectl apply -f storageclass.yaml
catatan
Anda juga dapat membuatnya StorageClass dengan menyediakan teks
.yaml
konfigurasi 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-name
namespace: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-smbcreds
namespace: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-static
namespace: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
kubectl
dan kedua.yaml
file 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
.yaml
konfigurasi 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
kubectl
klaster Kubernetes Anda, jalankan perintah berikut:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --