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,
kubectl
esegui 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.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 -
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. -
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.yaml
e 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-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
-
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: "" -
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. -
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,
kubectl
esegui il seguente comando:curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --