Configurar um back-end NetApp HCI ou SolidFire
Saiba mais sobre como criar e usar um back-end Element com sua instalação do Astra Trident.
-
Um sistema de storage compatível que executa o software Element.
-
Credenciais para um usuário de administrador ou locatário de cluster do NetApp HCI/SolidFire que possa gerenciar volumes.
-
Todos os seus nós de trabalho do Kubernetes devem ter as ferramentas iSCSI apropriadas instaladas. "informações sobre a preparação do nó de trabalho"Consulte .
O solidfire-san
driver de armazenamento suporta ambos os modos de volume: Arquivo e bloco. Para o Filesystem
volumeMode, o Astra Trident cria um volume e cria um sistema de arquivos. O tipo de sistema de arquivos é especificado pelo StorageClass.
Condutor | Protocolo | Modo de volume | Modos de acesso suportados | Sistemas de arquivos suportados |
---|---|---|---|---|
|
ISCSI |
Bloco |
RWO, ROX, RWX |
Sem sistema de ficheiros. Dispositivo de bloco bruto. |
|
ISCSI |
Bloco |
RWO, ROX, RWX |
Sem sistema de ficheiros. Dispositivo de bloco bruto. |
|
ISCSI |
Sistema de ficheiros |
RWO, ROX |
|
|
ISCSI |
Sistema de ficheiros |
RWO, ROX |
|
O Astra Trident usa o CHAP quando funciona como um supervisor de CSI aprimorado. Se você estiver usando CHAP (que é o padrão para CSI), nenhuma preparação adicional é necessária. Recomenda-se definir explicitamente a UseCHAP opção para usar CHAP com Trident não-CSI. Caso contrário, "aqui"consulte .
|
Os grupos de acesso a volume só são compatíveis com a estrutura convencional não CSI para Astra Trident. Quando configurado para funcionar no modo CSI, o Astra Trident usa CHAP. |
Se nenhuma AccessGroups
ou UseCHAP
for definida, uma das seguintes regras será aplicada:
-
Se o grupo de acesso padrão
trident
for detetado, os grupos de acesso serão usados. -
Se nenhum grupo de acesso for detetado e a versão do Kubernetes for 1,7 ou posterior, o CHAP será usado.
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 |
Sempre "SolidFire-san" |
|
Nome personalizado ou back-end de storage |
Endereço IP "SolidFire_" e armazenamento (iSCSI) |
|
MVIP para o cluster SolidFire com credenciais de locatário |
|
|
Porta e endereço IP de armazenamento (iSCSI) |
|
|
Conjunto de rótulos arbitrários formatados em JSON para aplicar em volumes. |
"" |
|
Nome do locatário a utilizar (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 |
verdadeiro |
|
Lista de IDs de Grupo de Acesso a utilizar |
Encontra a ID de um grupo de acesso chamado "Trident" |
|
Especificações de QoS |
|
|
Falha no provisionamento se o tamanho do volume solicitado estiver acima desse valor |
"" (não aplicado por padrão) |
|
Debug flags para usar ao solucionar problemas. Por exemplo, "api":false, "método":true" |
nulo |
Não use debugTraceFlags a menos que você esteja solucionando problemas e exija um despejo de log detalhado.
|
Para todos os volumes criados, o Astra Trident copiará todas as etiquetas presentes em um pool de storage para a LUN de storage de backup no momento em que ela for provisionada. Os administradores de storage podem definir rótulos por pool de storage e agrupar todos os volumes criados em um pool de storage. Isso fornece uma maneira conveniente de diferenciar volumes com base em um conjunto de rótulos personalizáveis que são fornecidos na configuração de back-end. |
Exemplo 1: Configuração de back-end para solidfire-san
driver com três tipos de volume
Este exemplo mostra um arquivo de back-end usando autenticação CHAP e modelagem de três tipos de volume com garantias de QoS específicas. Provavelmente você definiria classes de armazenamento para consumir cada uma delas 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 classe de back-end e armazenamento para solidfire-san
driver com pools de armazenamento virtual
Este exemplo mostra o arquivo de definição de back-end configurado com pools de armazenamento virtual junto com o StorageClasses que se referem a eles.
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, que definem o type
em Prata. Os pools de armazenamento virtual são definidos na storage
seção. Neste exemplo, alguns conjuntos de armazenamento definem seu próprio tipo e alguns conjuntos 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 seguintes definições do StorageClass referem-se aos pools de armazenamento virtual 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 ) (solidfire-gold-four`será mapeado para o primeiro pool de armazenamento virtual. Este é o único pool que oferece desempenho de ouro com um `Volume Type QoS
de ouro. O último StorageClass ) (`solidfire-silver`chama qualquer pool de armazenamento que ofereça um desempenho prateado. O Astra Trident decidirá qual pool de storage virtual está selecionado e garantirá que o requisito de storage 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"