Configure um backend NetApp HCI ou SolidFire.
Aprenda como criar e usar um backend Element com sua instalação do Trident .
Detalhes do driver do elemento
A Trident fornece o solidfire-san Driver de armazenamento para comunicação com o cluster. Os modos de acesso suportados são: ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX), ReadWriteOncePod (RWOP).
O solidfire-san O driver de armazenamento suporta os modos de volume arquivo e bloco. Para o Filesystem Com o comando volumeMode, o Trident cria um volume e um sistema de arquivos. O tipo de sistema de arquivos é especificado pela StorageClass.
| Motorista | Protocolo | Modo de volume | Modos de acesso suportados | Sistemas de arquivos suportados |
|---|---|---|---|---|
|
iSCSI |
Bloquear |
RWO, ROX, RWX, RWOP |
Sem sistema de arquivos. Dispositivo de bloco bruto. |
|
iSCSI |
Sistema de arquivos |
RWO, RWOP |
|
Antes de começar
Você precisará do seguinte antes de criar um backend Element.
-
Um sistema de armazenamento compatível que execute o software Element.
-
Credenciais de administrador de cluster NetApp HCI/ SolidFire ou de usuário locatário que possa gerenciar volumes.
-
Todos os seus nós de trabalho do Kubernetes devem ter as ferramentas iSCSI apropriadas instaladas. Consulte"Informações sobre a preparação do nó de trabalho" .
Opções de configuração do backend
Consulte a tabela a seguir para obter as opções de configuração do backend:
| Parâmetro | Descrição | Padrão |
|---|---|---|
|
Sempre 1 |
|
|
Nome do driver de armazenamento |
Sempre "solidfire-san" |
|
Nome personalizado ou o backend de armazenamento |
"solidfire_" + endereço IP de armazenamento (iSCSI) |
|
MVIP para o cluster SolidFire com credenciais de locatário |
|
|
Endereço IP e porta de armazenamento (iSCSI) |
|
|
Conjunto de rótulos arbitrários formatados em JSON para aplicar aos volumes. |
"" |
|
Nome do locatário a ser usado (criado se não for encontrado) |
|
|
Restringir o tráfego iSCSI a uma interface de host específica |
"padrão" |
|
Use CHAP para autenticar iSCSI. Trident usa CHAP. |
verdadeiro |
|
Lista de IDs de grupos de acesso a serem usados |
Encontra o ID de um grupo de acesso chamado "trident". |
|
Especificações de QoS |
|
|
O provisionamento falhará se o tamanho do volume solicitado for superior a este valor. |
"" (não aplicado por padrão) |
|
Sinalizadores de depuração a serem usados na resolução de problemas. Exemplo: {"api":false, "method":true} |
nulo |
|
|
Não use debugTraceFlags a menos que você esteja solucionando problemas e precise de um despejo de logs detalhado.
|
Exemplo 1: Configuração de backend para solidfire-san driver com três tipos de volume
Este exemplo mostra um arquivo de backend que utiliza autenticação CHAP e modela três tipos de volume com garantias de QoS específicas. Muito provavelmente, você definiria classes de armazenamento para consumir cada um deles usando o IOPS parâmetro de classe de armazenamento.
---
version: 1
storageDriverName: solidfire-san
Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0
SVIP: <svip>:3260
TenantName: <tenant>
labels:
k8scluster: dev1
backend: dev1-element-cluster
UseCHAP: true
Types:
- Type: Bronze
Qos:
minIOPS: 1000
maxIOPS: 2000
burstIOPS: 4000
- Type: Silver
Qos:
minIOPS: 4000
maxIOPS: 6000
burstIOPS: 8000
- Type: Gold
Qos:
minIOPS: 6000
maxIOPS: 8000
burstIOPS: 10000
Exemplo 2: Configuração de backend e classe de armazenamento para solidfire-san motorista com piscinas virtuais
Este exemplo mostra o arquivo de definição de backend configurado com pools virtuais, juntamente com StorageClasses que fazem referência a eles.
O Trident copia os rótulos presentes em um pool de armazenamento para o LUN de armazenamento de backend durante o provisionamento. Para maior conveniência, os administradores de armazenamento podem definir rótulos por pool virtual e agrupar volumes por rótulo.
No arquivo de definição de backend de exemplo mostrado abaixo, valores padrão específicos são definidos para todos os pools de armazenamento, que definem o type em Silver. Os pools virtuais são definidos em storage seção. Neste exemplo, alguns dos pools de armazenamento definem seu próprio tipo, e alguns pools substituem os valores padrão definidos acima.
---
version: 1
storageDriverName: solidfire-san
Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0
SVIP: <svip>:3260
TenantName: <tenant>
UseCHAP: true
Types:
- Type: Bronze
Qos:
minIOPS: 1000
maxIOPS: 2000
burstIOPS: 4000
- Type: Silver
Qos:
minIOPS: 4000
maxIOPS: 6000
burstIOPS: 8000
- Type: Gold
Qos:
minIOPS: 6000
maxIOPS: 8000
burstIOPS: 10000
type: Silver
labels:
store: solidfire
k8scluster: dev-1-cluster
region: us-east-1
storage:
- labels:
performance: gold
cost: "4"
zone: us-east-1a
type: Gold
- labels:
performance: silver
cost: "3"
zone: us-east-1b
type: Silver
- labels:
performance: bronze
cost: "2"
zone: us-east-1c
type: Bronze
- labels:
performance: silver
cost: "1"
zone: us-east-1d
As definições de StorageClass a seguir referem-se aos pools virtuais acima. Usando o parameters.selector No campo StorageClass, cada StorageClass especifica qual(is) pool(s) virtual(is) pode(m) ser usado(s) para hospedar um volume. O volume terá os aspectos definidos na piscina virtual escolhida.
A primeira StorageClass(solidfire-gold-four ) será mapeado para o primeiro pool virtual. Esta é a única piscina que oferece desempenho de ouro com um Volume Type QoS de ouro. A última StorageClass(solidfire-silver ) menciona qualquer pool de armazenamento que ofereça um desempenho prata. A Trident decidirá qual pool virtual será selecionado e garantirá que o requisito de armazenamento seja atendido.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-gold-four
provisioner: csi.trident.netapp.io
parameters:
selector: performance=gold; cost=4
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-three
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=3
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-bronze-two
provisioner: csi.trident.netapp.io
parameters:
selector: performance=bronze; cost=2
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-one
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=1
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver
fsType: ext4