Skip to main content
NetApp Solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Exemplo de Kubernetes StorageClasses para implantações do NetApp AIPod

Colaboradores

Antes de usar o Trident para provisionar recursos de storage dinamicamente no cluster do Kubernetes, é necessário criar um ou mais StorageClasses do Kubernetes. Os exemplos a seguir representam diferentes tipos de StorageClasses que você pode querer criar se estiver implantando componentes desta solução em um "NetApp AIPod". Para obter mais informações sobre o StorageClasses e, por exemplo, StorageClasses para outras plataformas/ambientes, consulte o "Documentação do Trident".

  1. A NetApp recomenda a criação de um StorageClass para o back-end Trident habilitado para FlexGroup criado na "Exemplo de backends Trident para implantações NetApp AIPod"seção , etapa 1. Os comandos de exemplo a seguir mostram a criação de vários StorageClasses que correspondem ao back-end de dois exemplos criado na "Exemplo de backends Trident para implantações NetApp AIPod"seção , etapa 1 - um que utiliza "NFS sobre RDMA" e outro que não o faz.

    Para que um volume persistente não seja excluído quando o PersistentVolumeClaim (PVC) correspondente for excluído, o exemplo a seguir usa um reclaimPolicy valor Retain de . Para obter mais informações sobre o reclaimPolicy campo, consulte o oficial "Documentação do Kubernetes".

    Observação: O exemplo a seguir StorageClasses usa um tamanho máximo de transferência de 262144 GB. Para utilizar este tamanho máximo de transferência, tem de configurar o tamanho máximo de transferência no seu sistema ONTAP em conformidade. Consulte "Documentação do ONTAP"para obter mais informações.

    Observação: Para usar o NFS em RDMA, você deve configurar o NFS em RDMA em seu sistema ONTAP. Consulte "Documentação do ONTAP"para obter mais informações.

    Observação: No exemplo a seguir, um back-end específico não é especificado no campo storagePool no arquivo de definição StorageClass.

    $ cat << EOF > ./storage-class-aipod-flexgroups-retain.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: aipod-flexgroups-retain
    provisioner: csi.trident.netapp.io
    mountOptions: ["vers=4.1", "nconnect=16", "rsize=262144", "wsize=262144"]
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "aipod-flexgroups-iface1:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-aipod-flexgroups-retain.yaml
    storageclass.storage.k8s.io/aipod-flexgroups-retain created
    $ cat << EOF > ./storage-class-aipod-flexgroups-retain-rdma.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: aipod-flexgroups-retain-rdma
    provisioner: csi.trident.netapp.io
    mountOptions: ["vers=4.1", "proto=rdma", "max_connect=16", "rsize=262144", "wsize=262144"]
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "aipod-flexgroups-iface1:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-aipod-flexgroups-retain-rdma.yaml
    storageclass.storage.k8s.io/aipod-flexgroups-retain-rdma created
    $ kubectl get storageclass
    NAME                             PROVISIONER             AGE
    aipod-flexgroups-retain          csi.trident.netapp.io   0m
    aipod-flexgroups-retain-rdma     csi.trident.netapp.io   0m
  2. O NetApp também recomenda a criação de um StorageClass que corresponda ao back-end Trident habilitado para FlexVol criado na "Exemplo de backends Trident para implantações AIPod"seção , etapa 2. Os comandos de exemplo a seguir mostram a criação de um único StorageClass para volumes FlexVol.

    Observação: No exemplo a seguir, um back-end específico não é especificado no campo storagePool no arquivo de definição StorageClass. Quando você usa o Kubernetes para administrar volumes usando esse StorageClass, o Trident tenta usar qualquer back-end disponível que use ontap-nas o driver.

    $ cat << EOF > ./storage-class-aipod-flexvols-retain.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: aipod-flexvols-retain
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-aipod-flexvols-retain.yaml
    storageclass.storage.k8s.io/aipod-flexvols-retain created
    $ kubectl get storageclass
    NAME                             PROVISIONER             AGE
    aipod-flexgroups-retain          csi.trident.netapp.io   0m
    aipod-flexgroups-retain-rdma     csi.trident.netapp.io   0m
    aipod-flexvols-retain            csi.trident.netapp.io   0m