Skip to main content
Uma versão mais recente deste produto está disponível.
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.

Exemplos e opções de configuração do ONTAP nas

Colaboradores

Saiba mais sobre como criar e usar drivers NAS ONTAP com sua instalação do Astra Trident. Esta seção fornece exemplos de configuração de back-end e detalhes sobre como mapear backends para StorageClasses.

Opções de configuração de back-end

Consulte a tabela a seguir para obter as opções de configuração de back-end:

Parâmetro Descrição Padrão

version

Sempre 1

storageDriverName

Nome do controlador de armazenamento

"ONTAP-nas", "ONTAP-nas-economy", "ONTAP-nas-FlexGroup", "ONTAP-san", "ONTAP-san-economy"

backendName

Nome personalizado ou back-end de storage

Nome do driver

managementLIF

Endereço IP de um cluster ou LIF de gerenciamento de SVM para switchover MetroCluster otimizado, você precisa especificar um LIF de gerenciamento de SVM. Um nome de domínio totalmente qualificado (FQDN) pode ser especificado. Pode ser definido para usar endereços IPv6 se o Astra Trident tiver sido instalado usando o --use-ipv6 sinalizador. Os endereços IPv6 devem ser definidos entre colchetes, como [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555].

"10,0.0,1", "[2001:1234:abcd::fefe]"

dataLIF

Endereço IP do protocolo LIF. Recomendamos especificar dataLIF. Se não for fornecido, o Astra Trident obtém LIFs de dados do SVM. Você pode especificar um nome de domínio totalmente qualificado (FQDN) a ser usado para as operações de montagem NFS, permitindo que você crie um DNS de round-robin para balanceamento de carga em vários LIFs de dados. Pode ser alterado após a definição inicial. Consulte a . Pode ser definido para usar endereços IPv6 se o Astra Trident tiver sido instalado usando o --use-ipv6 sinalizador. Os endereços IPv6 devem ser definidos entre colchetes, como [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555].

Endereço especificado ou derivado do SVM, se não for especificado (não recomendado)

autoExportPolicy

Ativar a criação e atualização automática da política de exportação [Boolean]. Com autoExportPolicy as opções e autoExportCIDRs, o Astra Trident pode gerenciar políticas de exportação automaticamente.

falso

autoExportCIDRs

Lista de CIDR para filtrar IPs de nós do Kubernetes em relação ao autoExportPolicy quando o está ativado. Com autoExportPolicy as opções e autoExportCIDRs, o Astra Trident pode gerenciar políticas de exportação automaticamente.

["0,0.0,0/0", "::/0"]»

labels

Conjunto de rótulos arbitrários formatados em JSON para aplicar em volumes

""

clientCertificate

Valor codificado em base64 do certificado do cliente. Usado para autenticação baseada em certificado

""

clientPrivateKey

Valor codificado em base64 da chave privada do cliente. Usado para autenticação baseada em certificado

""

trustedCACertificate

Valor codificado em base64 do certificado CA confiável. Opcional. Usado para autenticação baseada em certificado

""

username

Nome de usuário para se conetar ao cluster/SVM. Usado para autenticação baseada em credenciais

password

Senha para se conectar ao cluster/SVM. Usado para autenticação baseada em credenciais

svm

Máquina virtual de armazenamento para usar

Derivado se uma SVM managementLIF for especificada

storagePrefix

Prefixo usado ao provisionar novos volumes na SVM. Não pode ser atualizado depois de configurá-lo

"Trident"

limitAggregateUsage

Falha no provisionamento se o uso estiver acima dessa porcentagem. Não se aplica ao Amazon FSX for ONTAP

"" (não aplicado por padrão)

limitVolumeSize

Falha no provisionamento se o tamanho do volume solicitado estiver acima desse valor.

"" (não aplicado por padrão)

limitVolumeSize

Falha no provisionamento se o tamanho do volume solicitado estiver acima desse valor. Também restringe o tamanho máximo dos volumes que gerencia para qtrees e LUNs, e a qtreesPerFlexvol opção permite personalizar o número máximo de qtrees por FlexVol.

"" (não aplicado por padrão)

lunsPerFlexvol

Máximo de LUNs por FlexVol, tem de estar no intervalo [50, 200]

"100"

debugTraceFlags

Debug flags para usar ao solucionar problemas. Por exemplo, não use debugTraceFlags a menos que você esteja solucionando problemas e exija um despejo de log detalhado.

nulo

nfsMountOptions

Lista separada por vírgulas de opções de montagem NFS. As opções de montagem para volumes persistentes do Kubernetes normalmente são especificadas em classes de storage, mas se nenhuma opção de montagem for especificada em uma classe de storage, o Astra Trident voltará a usar as opções de montagem especificadas no arquivo de configuração do back-end de storage. Se nenhuma opção de montagem for especificada na classe de storage ou no arquivo de configuração, o Astra Trident não definirá nenhuma opção de montagem em um volume persistente associado.

""

qtreesPerFlexvol

Qtrees máximos por FlexVol, têm de estar no intervalo [50, 300]

"200"

useREST

Parâmetro booleano para usar APIs REST do ONTAP. A visualização técnica
useREST é fornecida como uma prévia técnica que é recomendada para ambientes de teste e não para cargas de trabalho de produção. Quando definido como true, o Astra Trident usará as APIS REST do ONTAP para se comunicar com o back-end. Esse recurso requer o ONTAP 9.11,1 e posterior. Além disso, a função de login do ONTAP usada deve ter acesso ao ontap aplicativo. Isso é satisfeito com as funções e cluster-admin predefinidas vsadmin.
useREST Não é suportado com MetroCluster.

falso

Opções de configuração de back-end para volumes de provisionamento

Você pode controlar o provisionamento padrão usando essas opções na defaults seção da configuração. Para obter um exemplo, consulte os exemplos de configuração abaixo.

Parâmetro Descrição Padrão

spaceAllocation

Alocação de espaço para LUNs

"verdadeiro"

spaceReserve

Modo de reserva de espaço; "nenhum" (fino) ou "volume" (grosso)

"nenhum"

snapshotPolicy

Política de instantâneos a utilizar

"nenhum"

qosPolicy

Grupo de políticas de QoS a atribuir aos volumes criados. Escolha uma das qosPolicy ou adaptiveQosPolicy por pool de armazenamento/backend

""

adaptiveQosPolicy

Grupo de políticas de QoS adaptável a atribuir para volumes criados. Escolha uma das qosPolicy ou adaptiveQosPolicy por pool de armazenamento/backend. Não suportado pela ONTAP-nas-Economy.

""

snapshotReserve

Porcentagem de volume reservado para snapshots "0"

Se snapshotPolicy é "nenhum", então ""

splitOnClone

Divida um clone de seu pai na criação

"falso"

encryption

Ative a criptografia de volume do NetApp (NVE) no novo volume; o padrão é false. O NVE deve ser licenciado e habilitado no cluster para usar essa opção. Se o NAE estiver ativado no back-end, qualquer volume provisionado no Astra Trident será o NAE ativado. Para obter mais informações, consulte: "Como o Astra Trident funciona com NVE e NAE".

"falso"

tieringPolicy

Política de disposição em camadas para usar "nenhuma"

"Somente snapshot" para configuração pré-ONTAP 9.5 SVM-DR

unixPermissions

Modo para novos volumes

"777" para volumes NFS; vazio (não aplicável) para volumes SMB

snapshotDir

Controla a visibilidade .snapshot do diretório

"falso"

exportPolicy

Política de exportação a utilizar

"padrão"

securityStyle

Estilo de segurança para novos volumes. Estilos de segurança e unix suporte de NFS mixed. Suporta SMB mixed e ntfs estilos de segurança.

O padrão NFS é unix. O padrão SMB é ntfs.

Observação O uso de grupos de política de QoS com o Astra Trident requer o ONTAP 9.8 ou posterior. Recomenda-se usar um grupo de políticas QoS não compartilhado e garantir que o grupo de políticas seja aplicado individualmente a cada componente. Um grupo de política de QoS compartilhado aplicará o limite máximo da taxa de transferência total de todos os workloads.

Exemplos de provisionamento de volume

Aqui está um exemplo com padrões definidos:

---
version: 1
storageDriverName: ontap-nas
backendName: customBackendName
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
labels:
  k8scluster: dev1
  backend: dev1-nasbackend
svm: trident_svm
username: cluster-admin
password: password
limitAggregateUsage: 80%
limitVolumeSize: 50Gi
nfsMountOptions: nfsvers=4
debugTraceFlags:
  api: false
  method: true
defaults:
  spaceReserve: volume
  qosPolicy: premium
  exportPolicy: myk8scluster
  snapshotPolicy: default
  snapshotReserve: '10'

Para ontap-nas e ontap-nas-flexgroups, o Astra Trident agora usa um novo cálculo para garantir que o FlexVol seja dimensionado corretamente com a porcentagem de snapshotServe e PVC. Quando o usuário solicita um PVC, o Astra Trident cria o FlexVol original com mais espaço usando o novo cálculo. Esse cálculo garante que o usuário receba o espaço gravável que solicitou no PVC, e não menor espaço do que o que solicitou. Antes de v21,07, quando o usuário solicita um PVC (por exemplo, 5GiB), com o snapshotServe a 50 por cento, eles recebem apenas 2,5GiBMB de espaço gravável. Isso ocorre porque o que o usuário solicitou é todo o volume e snapshotReserve é uma porcentagem disso. Com o Trident 21,07, o que o usuário solicita é o espaço gravável e o Astra Trident define o snapshotReserve número como a porcentagem de todo o volume. Isto não se aplica ontap-nas-economy ao . Veja o exemplo a seguir para ver como isso funciona:

O cálculo é o seguinte:

Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)

Para snapshotServe de 50%, e a solicitação de PVC de 5GiB, o volume total é de 2/.5 10GiB e o tamanho disponível é de 5GiB, o que o usuário solicitou na solicitação de PVC. O volume show comando deve mostrar resultados semelhantes a este exemplo:

Mostra a saída do comando volume show.

Os back-ends existentes de instalações anteriores provisionarão volumes conforme explicado acima ao atualizar o Astra Trident. Para volumes que você criou antes da atualização, você deve redimensionar seus volumes para que a alteração seja observada. Por exemplo, um PVC de 2GiB mm com snapshotReserve=50 anterior resultou em um volume que fornece 1GiB GB de espaço gravável. Redimensionar o volume para 3GiB, por exemplo, fornece ao aplicativo 3GiBMB de espaço gravável em um volume de 6 GiB.

Exemplos

Exemplos mínimos de configuração

Os exemplos a seguir mostram configurações básicas que deixam a maioria dos parâmetros padrão. Esta é a maneira mais fácil de definir um backend.

Observação Se você estiver usando o Amazon FSX no NetApp ONTAP com Trident, a recomendação é especificar nomes DNS para LIFs em vez de endereços IP.
Opções padrão no <code> ONTAP-nas-economy</code>
---
version: 1
storageDriverName: ontap-nas-economy
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
Autenticação baseada em certificado

Este é um exemplo de configuração de back-end mínimo. clientCertificate, clientPrivateKey E trustedCACertificate (opcional, se estiver usando CA confiável) são preenchidos backend.json e recebem os valores codificados em base64 do certificado do cliente, da chave privada e do certificado de CA confiável, respetivamente.

---
version: 1
backendName: DefaultNASBackend
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.15
svm: nfs_svm
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
storagePrefix: myPrefix_
Política de exportação automática

Esses exemplos mostram como você pode instruir o Astra Trident a usar políticas de exportação dinâmicas para criar e gerenciar a política de exportação automaticamente. Isso funciona da mesma forma para os ontap-nas-economy drivers e ontap-nas-flexgroup.

ONTAP-nas driver
---
version: 1
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
labels:
  k8scluster: test-cluster-east-1a
  backend: test1-nasbackend
autoExportPolicy: true
autoExportCIDRs:
- 10.0.0.0/24
username: admin
password: password
nfsMountOptions: nfsvers=4
driver <code> ONTAP-nas-FlexGroup </code>
---
version: 1
storageDriverName: ontap-nas-flexgroup
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
labels:
  k8scluster: test-cluster-east-1b
  backend: test1-ontap-cluster
svm: svm_nfs
username: vsadmin
password: password
Usando endereços IPv6

Este exemplo mostra managementLIF usando um endereço IPv6.

---
version: 1
storageDriverName: ontap-nas
backendName: nas_ipv6_backend
managementLIF: "[5c5d:5edf:8f:7657:bef8:109b:1b41:d491]"
labels:
  k8scluster: test-cluster-east-1a
  backend: test1-ontap-ipv6
svm: nas_ipv6_svm
username: vsadmin
password: password

ontap-nas-economy condutor

---
version: 1
storageDriverName: ontap-nas-economy
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password

ontap-nas Driver para o Amazon FSX for ONTAP usando volumes SMB

---
version: 1
backendName: SMBBackend
storageDriverName: ontap-nas
managementLIF: example.mgmt.fqdn.aws.com
nasType: smb
dataLIF: 10.0.0.15
svm: nfs_svm
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
storagePrefix: myPrefix_

Exemplos de backends com pools virtuais

No arquivo de definição de back-end de exemplo mostrado abaixo, padrões específicos são definidos para todos os pools de armazenamento, como spaceReserve em nenhum, spaceAllocation em falso e encryption em falso. Os pools virtuais são definidos na seção armazenamento.

O Astra Trident define rótulos de provisionamento no campo "Comentários". Os comentários são definidos no FlexVol for ontap-nas ou no FlexGroup ontap-nas-flexgroup for . O Astra Trident copia todas as etiquetas presentes em um pool virtual para o volume de storage no provisionamento. Por conveniência, os administradores de storage podem definir rótulos por pool virtual e volumes de grupo por rótulo.

Neste exemplo, alguns dos conjuntos de armazenamento definem os seus próprios spaceReserve spaceAllocation valores , e encryption , e alguns conjuntos substituem os valores predefinidos acima.

<code> ONTAP-nas</code> driver
---
version: 1
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: admin
password: password
nfsMountOptions: nfsvers=4
defaults:
  spaceReserve: none
  encryption: 'false'
  qosPolicy: standard
labels:
  store: nas_store
  k8scluster: prod-cluster-1
region: us_east_1
storage:
- labels:
    app: msoffice
    cost: '100'
  zone: us_east_1a
  defaults:
    spaceReserve: volume
    encryption: 'true'
    unixPermissions: '0755'
    adaptiveQosPolicy: adaptive-premium
- labels:
    app: slack
    cost: '75'
  zone: us_east_1b
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    app: wordpress
    cost: '50'
  zone: us_east_1c
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0775'
- labels:
    app: mysqldb
    cost: '25'
  zone: us_east_1d
  defaults:
    spaceReserve: volume
    encryption: 'false'
    unixPermissions: '0775'
driver <code> ONTAP-nas-FlexGroup </code>
---
version: 1
storageDriverName: ontap-nas-flexgroup
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
defaults:
  spaceReserve: none
  encryption: 'false'
labels:
  store: flexgroup_store
  k8scluster: prod-cluster-1
region: us_east_1
storage:
- labels:
    protection: gold
    creditpoints: '50000'
  zone: us_east_1a
  defaults:
    spaceReserve: volume
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    protection: gold
    creditpoints: '30000'
  zone: us_east_1b
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    protection: silver
    creditpoints: '20000'
  zone: us_east_1c
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0775'
- labels:
    protection: bronze
    creditpoints: '10000'
  zone: us_east_1d
  defaults:
    spaceReserve: volume
    encryption: 'false'
    unixPermissions: '0775'
<code> ONTAP-nas-economy</code> driver
---
version: 1
storageDriverName: ontap-nas-economy
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
defaults:
  spaceReserve: none
  encryption: 'false'
labels:
  store: nas_economy_store
region: us_east_1
storage:
- labels:
    department: finance
    creditpoints: '6000'
  zone: us_east_1a
  defaults:
    spaceReserve: volume
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    department: legal
    creditpoints: '5000'
  zone: us_east_1b
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    department: engineering
    creditpoints: '3000'
  zone: us_east_1c
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0775'
- labels:
    department: humanresource
    creditpoints: '2000'
  zone: us_east_1d
  defaults:
    spaceReserve: volume
    encryption: 'false'
    unixPermissions: '0775'

Atualização dataLIF após a configuração inicial

Você pode alterar o LIF de dados após a configuração inicial executando o seguinte comando para fornecer o novo arquivo JSON de back-end com LIF de dados atualizado.

tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
Observação Se os PVCs estiverem anexados a um ou vários pods, você deverá reduzir todos os pods correspondentes e restaurá-los para que o novo LIF de dados entre em vigor.

Mapeie os backends para StorageClasses

As seguintes definições do StorageClass referem-se aos pools virtuais acima. Usando o parameters.selector campo, cada StorageClass chama qual(s) pool(s) virtual(s) pode(m) ser(ão) usado(s) para hospedar um volume. O volume terá os aspetos definidos no pool virtual escolhido.

  • O primeiro StorageClass ) (protection-gold`será mapeado para o primeiro e segundo pool virtual `ontap-nas-flexgroup no back-end e o primeiro pool virtual no ontap-san back-end. Estas são as únicas piscinas que oferecem proteção de nível de ouro.

  • O segundo StorageClass ) (protection-not-gold`será mapeado para o terceiro, quarto pool virtual no `ontap-nas-flexgroup back-end e o segundo, terceiro pool virtual no ontap-san back-end. Estas são as únicas piscinas que oferecem um nível de proteção diferente do ouro.

  • O terceiro StorageClass ) (app-mysqldb`será mapeado para o quarto pool virtual no `ontap-nas back-end e o terceiro pool virtual no ontap-san-economy back-end. Estes são os únicos pools que oferecem configuração de pool de armazenamento para o aplicativo do tipo mysqldb.

  • O quarto StorageClass ) (protection-silver-creditpoints-20k`será mapeado para o terceiro pool virtual no `ontap-nas-flexgroup back-end e o segundo pool virtual no ontap-san back-end. Estas são as únicas piscinas que oferecem proteção de nível dourado em 20000 pontos de crédito.

  • O quinto StorageClass ) (creditpoints-5k`será mapeado para o segundo pool virtual no `ontap-nas-economy back-end e o terceiro pool virtual no ontap-san back-end. Estas são as únicas ofertas de pool em 5000 pontos de crédito.

O Astra Trident decidirá qual pool virtual está selecionado e garantirá que o requisito de storage seja atendido.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: protection-gold
provisioner: netapp.io/trident
parameters:
  selector: "protection=gold"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: protection-not-gold
provisioner: netapp.io/trident
parameters:
  selector: "protection!=gold"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: app-mysqldb
provisioner: netapp.io/trident
parameters:
  selector: "app=mysqldb"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: protection-silver-creditpoints-20k
provisioner: netapp.io/trident
parameters:
  selector: "protection=silver; creditpoints=20000"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: creditpoints-5k
provisioner: netapp.io/trident
parameters:
  selector: "creditpoints=5000"
  fsType: "ext4"