

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo dei driver CSI SMB
<a name="use-smb-csi"></a>

Segui le procedure in questa sezione per installare, configurare o eliminare i driver CSI necessari per utilizzare una condivisione di file SMB su un Amazon S3 File Gateway per lo storage nel tuo cluster Kubernetes. Per ulteriori informazioni, consulta la documentazione del driver SMB CSI open source all'indirizzo. 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)

**Nota**  
Quando si crea un `PersistentVolume` oggetto o un `StorageClass` oggetto, è possibile specificare un `ReclaimPolicy` parametro per determinare cosa succede allo storage esterno quando gli oggetti vengono eliminati. Il driver CSI SMB supporta le `Recycle` opzioni `Retain` and, ma attualmente non supporta alcuna opzione. `Delete`

## Installa i driver
<a name="install-smb-csi"></a>

**Per installare i driver CSI di Kubernetes SMB:**

1. Da un terminale a riga di comando con accesso al tuo cluster Kubernetes, `kubectl` esegui il seguente comando:

   **curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh \| bash -s master --**

1. Attendi il completamento del comando precedente, quindi usa i seguenti comandi per assicurarti che i driver pod CSI siano in esecuzione:

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

   L’output visualizzato dovrebbe essere simile al seguente:

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

## Create un oggetto SMB StorageClass
<a name="create-storageclass-smb-csi"></a>

**Per creare un nuovo StorageClass oggetto SMB per il tuo cluster Kubernetes:**

1. Crea un file di configurazione denominato `storageclass.yaml` con contenuti simili all'esempio seguente. Sostituisci le tue informazioni specifiche sulla distribuzione con quelle mostrate. {{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. Da un terminale a riga di comando con accesso e, esegui il seguente comando: `kubectl` `storageclass.yaml`

   **kubectl apply -f storageclass.yaml**
**Nota**  
Puoi anche crearlo StorageClass fornendo il testo di `.yaml` configurazione del passaggio precedente alla maggior parte delle piattaforme di gestione e containerizzazione Kubernetes di terze parti.

1. Configura i pod nel tuo cluster Kubernetes per utilizzare quelli nuovi che hai creato. StorageClass Per ulteriori informazioni, consulta la documentazione online di Kubernetes all'indirizzo. [https://kubernetes.io/docs/concepts/storage/](https://kubernetes.io/docs/concepts/storage/)

## Crea SMB e oggetti PersistentVolume PersistentVolumeClaim
<a name="create-persistentvolume-volumeclaim-smb-csi"></a>

**Per creare nuovi SMB PersistentVolume e PersistentVolumeClaim oggetti:**

1. Crea due file di configurazione. Uno con nome `persistentvolume.yaml` e uno con nome`persistentvolumeclaim.yaml`.

1. Per`persistentvolume.yaml`, aggiungi contenuti simili all'esempio seguente. Sostituisci le tue informazioni specifiche sulla distribuzione con quelle mostrate. {{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. Per`persistentvolumeclaim.yaml`, aggiungete contenuti simili all'esempio seguente. Sostituisci le tue informazioni specifiche sulla distribuzione con quelle mostrate. {{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. Da un terminale a riga di comando con accesso a entrambi `kubectl` i `.yaml` file creati, esegui i seguenti comandi:

   **kubectl apply -f persistentvolume.yaml**

   **kubectl apply -f persistentvolumeclaim.yaml**
**Nota**  
Puoi anche creare PersistentVolumeClaim gli oggetti PersistentVolume and fornendo il testo di `.yaml` configurazione del passaggio precedente alla maggior parte delle piattaforme di gestione e containerizzazione Kubernetes di terze parti.

1. Configura i pod nel tuo cluster Kubernetes per utilizzare quelli nuovi che hai creato. PersistentVolumeClaim Per ulteriori informazioni, consulta la documentazione online di Kubernetes all'indirizzo. [https://kubernetes.io/docs/concepts/storage/](https://kubernetes.io/docs/concepts/storage/)

## Disinstalla i driver
<a name="uninstall-smb-csi"></a>

**Per disinstallare i driver CSI di Kubernetes SMB:**
+ Da un terminale a riga di comando con accesso al tuo cluster Kubernetes, `kubectl` esegui il seguente comando:

  **curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh \| bash -s --**