Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de pilotes CSI pour PME
Suivez les procédures décrites dans cette section pour installer, configurer ou supprimer les pilotes CSI nécessaires pour utiliser un partage de fichiers SMB sur une passerelle de fichiers Amazon S3 à des fins de stockage dans votre cluster Kubernetes. Pour plus d'informations, consultez la documentation open source du pilote CSI SMB sur at. GitHub https://github.com/kubernetes-csi/csi-driver-smb/blob/master/docs/install-csi-driver-master.md
Note
Lorsque vous créez un PersistentVolume
objet ou un StorageClass
objet, vous pouvez spécifier un ReclaimPolicy
paramètre pour déterminer ce qu'il advient du stockage externe lorsque des objets sont supprimés. Le pilote CSI SMB prend en charge les Recycle
options Retain
et, mais aucune option n'est actuellement prise en charge. Delete
Installer les pilotes
Pour installer les pilotes Kubernetes SMB CSI :
-
À partir d'un terminal de ligne de commande ayant accès à
kubectl
votre cluster Kubernetes, exécutez la commande suivante :curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh | bash -s master --
-
Attendez que la commande précédente soit terminée, puis utilisez les commandes suivantes pour vérifier que les modules de pilotes CSI sont en cours d'exécution :
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
La sortie doit ressembler à ce qui suit :
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
Création d'un objet SMB StorageClass
Pour créer un nouvel StorageClass objet SMB pour votre cluster Kubernetes :
-
Créez un fichier de configuration nommé
storageclass.yaml
avec un contenu similaire à celui de l'exemple suivant. Remplacez les informations affichées par vos propres informations spécifiques au déploiement.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 -
À partir d'un terminal de ligne de commande ayant accès à
kubectl
etstorageclass.yaml
, exécutez la commande suivante :kubectl apply -f storageclass.yaml
Note
Vous pouvez également le créer StorageClass en fournissant le texte de
.yaml
configuration de l'étape précédente à la plupart des plateformes tierces de gestion et de conteneurisation Kubernetes. -
Configurez les pods de votre cluster Kubernetes pour utiliser le nouveau StorageClass que vous avez créé. Pour plus d'informations, consultez la documentation en ligne de Kubernetes à l'adresse. https://kubernetes.io/docs/concepts/storage/
Création de SMB PersistentVolume et d'objets PersistentVolumeClaim
Pour créer un nouveau SMB PersistentVolume et de nouveaux PersistentVolumeClaim objets :
-
Créez deux fichiers de configuration. L'un nommé
persistentvolume.yaml
, l'autre nommépersistentvolumeclaim.yaml
. -
Pour
persistentvolume.yaml
, ajoutez du contenu similaire à celui de l'exemple suivant. Remplacez les informations affichées par vos propres informations spécifiques au déploiement.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
-
Pour
persistentvolumeclaim.yaml
, ajoutez du contenu similaire à celui de l'exemple suivant. Remplacez les informations affichées par vos propres informations spécifiques au déploiement.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: "" -
À partir d'un terminal de ligne de commande ayant accès aux deux
.yaml
fichiers que vous avez crééskubectl
et aux deux, exécutez les commandes suivantes :kubectl apply -f persistentvolume.yaml
kubectl apply -f persistentvolumeclaim.yaml
Note
Vous pouvez également créer les PersistentVolumeClaim objets PersistentVolume et en fournissant le texte de
.yaml
configuration de l'étape précédente à la plupart des plateformes tierces de gestion et de conteneurisation Kubernetes. -
Configurez les pods de votre cluster Kubernetes pour utiliser le nouveau PersistentVolumeClaim que vous avez créé. Pour plus d'informations, consultez la documentation en ligne de Kubernetes à l'adresse. https://kubernetes.io/docs/concepts/storage/
Désinstaller les pilotes
Pour désinstaller les pilotes Kubernetes SMB CSI :
-
À partir d'un terminal de ligne de commande ayant accès à
kubectl
votre cluster Kubernetes, exécutez la commande suivante :curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --