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à.
Lavorare con i driver CSI SMB
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
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
Per installare i driver CSI di Kubernetes SMB:
-
Da un terminale a riga di comando con accesso al tuo cluster Kubernetes,
kubectlesegui il seguente comando:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh | bash -s master --
-
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
Per creare un nuovo StorageClass oggetto SMB per il tuo cluster Kubernetes:
-
Crea un file di configurazione denominato
storageclass.yamlcon 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: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 -
Da un terminale a riga di comando con accesso e, esegui il seguente comando:
kubectlstorageclass.yamlkubectl apply -f storageclass.yaml
Nota
Puoi anche crearlo StorageClass fornendo il testo di
.yamlconfigurazione del passaggio precedente alla maggior parte delle piattaforme di gestione e containerizzazione Kubernetes di terze parti. -
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/
Crea SMB e oggetti PersistentVolume PersistentVolumeClaim
Per creare nuovi SMB PersistentVolume e PersistentVolumeClaim oggetti:
-
Crea due file di configurazione. Uno con nome
persistentvolume.yamle uno con nomepersistentvolumeclaim.yaml. -
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-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 -
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-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: "" -
Da un terminale a riga di comando con accesso a entrambi
kubectli.yamlfile 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
.yamlconfigurazione del passaggio precedente alla maggior parte delle piattaforme di gestione e containerizzazione Kubernetes di terze parti. -
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/
Disinstalla i driver
Per disinstallare i driver CSI di Kubernetes SMB:
-
Da un terminale a riga di comando con accesso al tuo cluster Kubernetes,
kubectlesegui il seguente comando:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --