Bekerja dengan driver SMB CSI - AWS Storage Gateway

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:
  1. 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 --

  2. 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:
  1. 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
  2. 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.

  3. 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:
  1. Buat dua file konfigurasi. Satu bernamapersistentvolume.yaml, dan satu bernamapersistentvolumeclaim.yaml.

  2. Untukpersistentvolume.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
  3. Untukpersistentvolumeclaim.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: ""
  4. 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.

  5. 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 --