Utilisation de pilotes CSI pour PME - AWS Storage Gateway

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

  2. 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 :
  1. 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
  2. À 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.

  3. 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 :
  1. Créez deux fichiers de configuration. L'un nommépersistentvolume.yaml, l'autre nommépersistentvolumeclaim.yaml.

  2. Pourpersistentvolume.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
  3. Pourpersistentvolumeclaim.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: ""
  4. À partir d'un terminal de ligne de commande ayant accès aux deux .yaml fichiers que vous avez créés kubectl 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.

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