Trabalhando com drivers NFS CSI - AWS Storage Gateway

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Trabalhando com drivers NFS CSI

Siga os procedimentos nesta seção para instalar, configurar ou excluir os drivers CSI necessários para usar um compartilhamento de arquivos NFS em um Amazon S3 File Gateway para armazenamento em seu cluster Kubernetes. Para obter mais informações, consulte a documentação do driver CSI NFS de código aberto em. GitHub https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/docs/install-csi-driver-master.md

Instalar drivers

Para instalar os drivers Kubernetes NFS CSI:
  1. Em um terminal de linha de comando com acesso ao kubectl seu cluster Kubernetes, execute o seguinte comando:

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

  2. Aguarde a conclusão do comando anterior e use os comandos a seguir para garantir que os pods do driver CSI estejam em execução:

    kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller

    kubectl -n kube-system get pod -o wide -l app=csi-nfs-node

    A saída deve ser semelhante à seguinte:

    NAME READY STATUS RESTARTS AGE IP NODE csi-nfs-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 csi-nfs-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-nfs-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-nfs-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0

Criar um objeto NFS StorageClass

Para criar um StorageClass objeto NFS para seu cluster Kubernetes:
  1. Crie um arquivo de configuração chamado storageclass.yaml com conteúdo semelhante ao exemplo a seguir. Substitua suas próprias informações específicas de implantação pelas mostradas. ExampleValues

    --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: example-nfs-classname namespace: example-namespace provisioner: nfs.csi.k8s.io parameters: server: gateway-dns-name-or-ip-address share: /example-share-name reclaimPolicy: Retain volumeBindingMode: Immediate mountOptions: - hard - nfsvers=4.1
  2. Em um terminal de linha de comando com acesso a kubectl estorageclass.yaml, execute o seguinte comando:

    kubectl apply -f storageclass.yaml

    nota

    Você também pode criar o StorageClass fornecendo o texto de .yaml configuração da etapa anterior para a maioria das plataformas de gerenciamento e conteinerização de Kubernetes de terceiros.

  3. Configure os pods em seu cluster Kubernetes para usar o novo StorageClass objeto que você criou. Para obter mais informações, consulte a documentação on-line do Kubernetes em. https://kubernetes.io/docs/concepts/storage/

Crie NFS PersistentVolume e objetos PersistentVolumeClaim

Para criar novos NFS PersistentVolume e PersistentVolumeClaim objetos:
  1. Crie dois arquivos de configuração chamados persistentvolume.yaml persistentvolumeclaim.yaml e.

  2. Parapersistentvolume.yaml, adicione conteúdos semelhantes ao exemplo a seguir. Substitua suas próprias informações específicas de implantação pelas mostradas. ExampleValues

    --- apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs-examplename spec: capacity: storage: 10Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - hard - nolock - nfsvers=4.1 csi: driver: nfs.csi.k8s.io readOnly: false volumeHandle: unique-volumeid-example # make sure it's a unique id in the cluster volumeAttributes: server: gateway-dns-name-or-ip-address share: /example-share-name
  3. Parapersistentvolumeclaim.yaml, adicione conteúdos semelhantes ao exemplo a seguir. Substitua suas próprias informações específicas de implantação pelas mostradas. ExampleValues

    --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: examplename-pvc-nfs-static spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-nfs-examplename # make sure specfied volumeName matches the name of the PersistentVolume you created storageClassName: ""
  4. Em um terminal de linha de comando com acesso aos .yaml arquivos kubectl e aos dois, execute os seguintes comandos:

    kubectl apply -f persistentvolume.yaml

    kubectl apply -f persistentvolumeclaim.yaml

    nota

    Você também pode criar os PersistentVolumeClaim objetos PersistentVolume e fornecendo o texto de .yaml configuração da etapa anterior para a maioria das plataformas terceirizadas de gerenciamento e conteinerização do Kubernetes.

  5. Configure os pods em seu cluster Kubernetes para usar o novo PersistentVolumeClaim objeto que você criou. Para obter mais informações, consulte a documentação on-line do Kubernetes em. https://kubernetes.io/docs/concepts/storage/

Desinstalar drivers

Para desinstalar os drivers Kubernetes NFS CSI:
  • Em um terminal de linha de comando com acesso ao kubectl seu cluster Kubernetes, execute o seguinte comando:

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