

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
<a name="use-smb-csi"></a>

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](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
<a name="install-smb-csi"></a>

**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 --**

1. 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
<a name="create-storageclass-smb-csi"></a>

**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
   ```

1. Dari terminal baris perintah dengan akses ke `kubectl` dan`storageclass.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.

1. 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/](https://kubernetes.io/docs/concepts/storage/)

## Buat SMB PersistentVolume dan objek PersistentVolumeClaim
<a name="create-persistentvolume-volumeclaim-smb-csi"></a>

**Untuk membuat SMB PersistentVolume dan PersistentVolumeClaim objek baru:**

1. Buat dua file konfigurasi. Satu bernama`persistentvolume.yaml`, dan satu bernama`persistentvolumeclaim.yaml`.

1. 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}}
   ```

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

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

1. 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/](https://kubernetes.io/docs/concepts/storage/)

## Copot pemasangan driver
<a name="uninstall-smb-csi"></a>

**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 --**