Exemplos e opções de configuração do ONTAP nas
Saiba 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 |
---|---|---|
|
Sempre 1 |
|
|
Nome do controlador de armazenamento |
"ONTAP-nas", "ONTAP-nas-economy", "ONTAP-nas-FlexGroup", "ONTAP-san", "ONTAP-san-economy" |
|
Nome personalizado ou back-end de storage |
Nome do driver |
|
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 |
"10,0.0,1", "[2001:1234:abcd::fefe]" |
|
Endereço IP do protocolo LIF. Recomendamos especificar |
Endereço especificado ou derivado do SVM, se não for especificado (não recomendado) |
|
Ativar a criação e atualização automática da política de exportação [Boolean]. Com |
falso |
|
Lista de CIDR para filtrar IPs de nós do Kubernetes em relação ao |
["0,0.0,0/0", "::/0"]» |
|
Conjunto de rótulos arbitrários formatados em JSON para aplicar em volumes |
"" |
|
Valor codificado em base64 do certificado do cliente. Usado para autenticação baseada em certificado |
"" |
|
Valor codificado em base64 da chave privada do cliente. Usado para autenticação baseada em certificado |
"" |
|
Valor codificado em base64 do certificado CA confiável. Opcional. Usado para autenticação baseada em certificado |
"" |
|
Nome de usuário para se conetar ao cluster/SVM. Usado para autenticação baseada em credenciais |
|
|
Senha para se conectar ao cluster/SVM. Usado para autenticação baseada em credenciais |
|
|
Máquina virtual de armazenamento para usar |
Derivado se uma SVM |
|
Prefixo usado ao provisionar novos volumes na SVM. Não pode ser atualizado depois de configurá-lo |
"Trident" |
|
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) |
|
Falha no provisionamento se o tamanho do volume solicitado estiver acima desse valor. |
"" (não aplicado por padrão) |
|
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 |
"" (não aplicado por padrão) |
|
Máximo de LUNs por FlexVol, tem de estar no intervalo [50, 200] |
"100" |
|
Debug flags para usar ao solucionar problemas. Por exemplo, não use |
nulo |
|
Configurar a criação de volumes NFS ou SMB. As opções são |
|
|
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. |
"" |
|
Qtrees máximos por FlexVol, têm de estar no intervalo [50, 300] |
"200" |
|
Você pode especificar uma das seguintes opções: O nome de um compartilhamento SMB criado usando o Console de Gerenciamento da Microsoft ou a CLI do ONTAP; um nome para permitir que o Astra Trident crie o compartilhamento SMB; ou você pode deixar o parâmetro em branco para impedir o acesso comum ao compartilhamento aos volumes. Esse parâmetro é opcional para o ONTAP no local. Esse parâmetro é necessário para backends do Amazon FSX for ONTAP e não pode ficar em branco. |
|
|
Parâmetro booleano para usar APIs REST do ONTAP. A visualização técnica |
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 |
---|---|---|
|
Alocação de espaço para LUNs |
"verdadeiro" |
|
Modo de reserva de espaço; "nenhum" (fino) ou "volume" (grosso) |
"nenhum" |
|
Política de instantâneos a utilizar |
"nenhum" |
|
Grupo de políticas de QoS a atribuir aos volumes criados. Escolha uma das qosPolicy ou adaptiveQosPolicy por pool de armazenamento/backend |
"" |
|
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. |
"" |
|
Porcentagem de volume reservado para snapshots "0" |
Se |
|
Divida um clone de seu pai na criação |
"falso" |
|
Ative a criptografia de volume do NetApp (NVE) no novo volume; o padrão é |
"falso" |
|
Política de disposição em camadas para usar "nenhuma" |
"Somente snapshot" para configuração pré-ONTAP 9.5 SVM-DR |
|
Modo para novos volumes |
"777" para volumes NFS; vazio (não aplicável) para volumes SMB |
|
Controla a visibilidade |
"falso" |
|
Política de exportação a utilizar |
"padrão" |
|
Estilo de segurança para novos volumes. Estilos de segurança e |
O padrão NFS é |
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:
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 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.
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. |
Configuração mínima para <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
Configuração mínima para <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
Configuração mínima para volumes SMB
--- version: 1 backendName: ExampleBackend storageDriverName: ontap-nas managementLIF: 10.0.0.1 nasType: smb securityStyle: ntfs unixPermissions: "" 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
Este exemplo mostra 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
.
--- 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
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
Amazon FSX para ONTAP usando volumes SMB
O smbShare
parâmetro é necessário para o 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 smbShare: smb-share clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz storagePrefix: myPrefix_
Exemplos de backends com pools virtuais
Nos arquivos de definição de back-end de exemplo mostrados 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.
Nesses exemplos, alguns dos pools de armazenamento definem seus próprios spaceReserve
spaceAllocation
valores , e encryption
, e alguns pools substituem os valores padrão.
Exemplo de ONTAP nas
--- version: 1 storageDriverName: ontap-nas managementLIF: 10.0.0.1 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: department: legal creditpoints: '5000' 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'
Exemplo de ONTAP nas FlexGroup
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 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'
Exemplo de economia nas do ONTAP
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 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: protection: bronze 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'
Mapeie os backends para StorageClasses
As seguintes definições do StorageClass referem-se Exemplos de backends com pools virtuaisa . Usando o parameters.selector
campo, cada StorageClass chama quais pools virtuais podem ser usados para hospedar um volume. O volume terá os aspetos definidos no pool virtual escolhido.
-
O
protection-gold
StorageClass será mapeado para o primeiro e segundo pool virtualontap-nas-flexgroup
no back-end. Estas são as únicas piscinas que oferecem proteção de nível de ouro.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: netapp.io/trident parameters: selector: "protection=gold" fsType: "ext4"
-
O
protection-not-gold
StorageClass será mapeado para o terceiro e quarto pool virtual noontap-nas-flexgroup
back-end. Estas são as únicas piscinas que oferecem um nível de proteção diferente do ouro.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: netapp.io/trident parameters: selector: "protection!=gold" fsType: "ext4"
-
O
app-mysqldb
StorageClass será mapeado para o quarto pool virtualontap-nas
no back-end. Este é o único pool que oferece configuração de pool de armazenamento para o aplicativo tipo mysqldb.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: netapp.io/trident parameters: selector: "app=mysqldb" fsType: "ext4"
-
O
protection-silver-creditpoints-20k
StorageClass será mapeado para o terceiro pool virtual noontap-nas-flexgroup
back-end. Esta é a única piscina que oferece proteção de nível de prata e 20000 pontos de crédito.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"
-
O
creditpoints-5k
StorageClass será mapeado para o terceiro pool virtualontap-nas
no back-end e o segundo pool virtualontap-nas-economy
no back-end. Estas são as únicas ofertas de pool com 5000 pontos de crédito.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: netapp.io/trident parameters: selector: "creditpoints=5000" fsType: "ext4"
O Astra Trident decidirá qual pool virtual está selecionado e garantirá que o requisito de storage seja atendido.
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>
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. |