Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Parâmetros da StorageClass

Visão Geral

A StorageClass como um objeto de recurso possui vários parâmetros configuráveis.

Exemplo:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: longhorn-test
provisioner: driver.longhorn.io
allowVolumeExpansion: true
reclaimPolicy: Delete
volumeBindingMode: Immediate
parameters:
  backupTargetName: "default"
  numberOfReplicas: "3"
  staleReplicaTimeout: "2880"
  fromBackup: ""
  fsType: "ext4"
#  mkfsParams: ""
#  migratable: false
#  encrypted: false
#  dataLocality: "disabled"
#  replicaAutoBalance: "ignored"
#  diskSelector: "ssd,fast"
#  nodeSelector: "storage,fast"
#  recurringJobSelector: '[{"name":"snap-group", "isGroup":true},
#                          {"name":"backup", "isGroup":false}]'
#  backingImageName: ""
#  backingImageChecksum: ""
#  backingImageDataSourceType: ""
#  backingImageDataSourceParameters: ""
#  unmapMarkSnapChainRemoved: "ignored"
#  disableRevisionCounter: false
#  replicaSoftAntiAffinity: "ignored"
#  replicaZoneSoftAntiAffinity: "ignored"
#  replicaDiskSoftAntiAffinity: "ignored"
#  nfsOptions: "soft,timeo=150,retrans=3"
#  dataEngine: "v1"
#  freezeFSForSnapshot: "ignored"
# allowedTopologies:
#   - matchLabelExpressions:
#       - key: topology.kubernetes.io/zone
#         values:
#           - us-central-1a
#           - us-central-1b

Campos Incorporados

Certos campos são comuns a todas as classes de armazenamento do Kubernetes. Veja também Classe de Armazenamento do Kubernetes.

Provisionador (campo: provisioner)

Especifica o plug-in que será usado para a criação dinâmica de volumes persistentes. Para SUSE Storage, isso é sempre driver.longhorn.io.

Permitir Expansão de Volume (campo: allowVolumeExpansion)

Política de Reivindicação (campo: reclaimPolicy)

Opções de Montagem (campo: mountOptions)

Modo de Vinculação de Volume (campo: volumeBindingMode)

Topologias Permitidas (campo: allowedTopologies)

Veja a referência do Kubernetes StorageClass — Topologias Permitidas.

Especifica o conjunto de nós onde os volumes podem ser provisionados correspondendo aos rótulos dos nós. SUSE Storage usa este campo para preencher o nodeAffinity do PV via o campo CSI accessibleTopology.

Para allowedTopologies ter efeito, a configuração SUSE Storage csi-allowed-topology-keys deve ser configurada com as chaves de topologia correspondentes (por exemplo, topology.kubernetes.io/zone). Sem essa configuração, nenhuma passagem de informação de topologia ocorre e o PV não terá nodeAffinity.

Não use allowedTopologies junto com parameters.dataLocality: strict-local. O PV resultante nodeAffinity se torna imutável e isso conflitará com a fixação de volume estrita-local de SUSE Storage.

Para um guia completo com exemplos, consulte o Provisionamento Consciente de Topologia.

Parâmetros específicos de SUSE Storage

Observe que alguns desses parâmetros também existem e podem ser especificados nas configurações globais. Quando um volume é provisionado com Kubernetes contra uma StorageClass específica, os parâmetros da StorageClass substituem as configurações globais. Esses campos serão aplicados apenas para a criação de novos volumes. Se uma StorageClass for modificada, nem SUSE Storage nem Kubernetes lidam com a propagação de alterações em seus parâmetros de volta para volumes criados anteriormente com ela.

Número de Réplicas (campo: parameters.numberOfReplicas)

Padrão: 3

O número desejado de cópias (réplicas) para redundância.

  • Deve estar entre 1 e 20.

  • As réplicas serão distribuídas pelo maior conjunto possível de zonas, nós e discos em um cluster, sujeitas a outras restrições, como NodeSelector.

Configuração global - Contagem Padrão de Réplicas.

Tempo Limite de Réplica Obsoleta (campo: parameters.staleReplicaTimeout)

Padrão: 30

Minutos após uma réplica ser marcada como não saudável antes de ser considerada inútil para reconstruções e ser simplesmente excluída.

De Backup (campo: parameters.fromBackup)

Padrão: "" Exemplo: "s3://backupbucket@us-east-1?volume=minio-vol01&backup=backup-eeb2782d5b2f42bb"

URL de um backup a ser restaurado.

Tipo de FS (campo: parameters.fsType)

Padrão: ext4 Para mais detalhes, por favor, verifique o Criando Volumes Longhorn com Kubernetes.

Parâmetros Mkfs (campo: parameters.mkfsParams)

Padrão: "" Para mais detalhes, por favor, verifique o Criando Volumes Longhorn com Kubernetes.

Migrável (campo: parameters.migratable)

Padrão: false

Habilita capacidades de migração ao vivo para um volume Longhorn, permitindo que ele seja migrado de um nó para outro enquanto mantém operações de E/S ativas.

Quando usar:

  1. migratable: true: Para cargas de trabalho que requerem migração ao vivo. Deve ser usado com o modo de acesso ReadWriteMany e volumeMode: Block.

  2. migratable: false: Para volumes padrão que não requerem capacidades de migração ao vivo.

Para mais detalhes, por favor, verifique o Volume ReadWriteMany (RWX).

Criptografado (campo: parameters.encrypted)

Padrão: false Para mais detalhes, por favor, verifique os Volumes Criptografados.

Localidade de Dados (campo: parameters.dataLocality)

Padrão: disabled

Se habilitado, tente manter os dados no mesmo nó que a carga de trabalho para melhor desempenho.

  • Para best-effort, uma réplica estaria co-localizada se possível, mas é permitido encontrar outro nó se não for.

  • Para strict-local, a contagem de réplicas deve ser 1, ou a criação do volume falhará com um erro de validação de parâmetro.

  • Se strict-local não for possível por qualquer outro motivo, a criação do volume falhará. Uma réplica strict-local que se desloca de sua carga de trabalho seria marcada como "Stopped".

Configuração global - Localidade de Dados Padrão. Para mais detalhes, consulte Localidade de Dados.

Balanceamento Automático de Réplicas (campo: parameters.replicaAutoBalance)

Padrão: ignored

Se habilitado, mova as réplicas para nós com carga mais leve.

  • ignored significa usar a configuração global.

  • Outras opções são disabled, least-effort, best-effort.

Configuração global - Balanceamento Automático de Réplicas. Para mais detalhes, consulte o Balanceamento Automático de Réplicas.

Selecionador de Disco (campo: parameters.diskSelector)

Padrão: "" Exemplo: "ssd,fast"

Uma lista de tags para selecionar quais discos são candidatos para colocação de réplicas.

Para mais detalhes, consulte o Tags de Armazenamento.

Selecionador de Nó (campo: parameters.nodeSelector)

Padrão: "" Exemplo: "storage,fast"

Uma lista de tags para selecionar quais nós são candidatos para colocação de réplicas.

Para mais detalhes, consulte o Tags de Armazenamento.

Selecionador de Trabalho Recorrente (campo: parameters.recurringJobSelector)

Padrão: "" Exemplo: [{"name":"backup", "isGroup":true}]

Uma lista de trabalhos recorrentes que devem ser executados em um volume.

Para mais detalhes, consulte Criar Trabalho de Backup/Snapshot Recorrente.

Nome da Imagem de Base (campo: parameters.backingImageName)

Padrão: "" Veja Imagem de Base.

Checksum da Imagem de Base (campo: parameters.backingImageChecksum)

Padrão: "" Veja Imagem de Base.

Tipo de Fonte de Dados da Imagem de Base (campo: parameters.backingImageDataSourceType)

Padrão: "" Veja Imagem de Base.

Parâmetros da Fonte de Dados da Imagem de Base (campo: parameters.backingImageDataSourceParameters)

Padrão: "" Veja Imagem de Base.

Cadeia de instantâneos com marca de unmap removida (campo: parameters.unmapMarkSnapChainRemoved)

Padrão: ignored

  • ignored significa usar a configuração global.

  • Outros valores são enabled e disabled.

Configuração global - Remover instantâneos Durante o Trim do Sistema de Arquivos. Para mais detalhes, consulte o Trim do Sistema de Arquivos.

Desativar Contador de Revisões (campo: parameters.disableRevisionCounter)

Padrão: true

Configuração global - Desativar Contador de Revisões. Para mais detalhes, consulte o Contador de Revisões.

Réplica Soft Anti-Affinity (campo: parameters.replicaSoftAntiAffinity)

Padrão: ignored

  • ignored significa usar a configuração global.

  • Outros valores são enabled e disabled.

Configuração global - Nível de Soft Anti-Affinity do Nó Réplica. Para mais detalhes, consulte Agendamento e Melhores Práticas.

Réplica Zone Soft Anti-Affinity (campo: parameters.replicaZoneSoftAntiAffinity)

Padrão: ignored

  • ignored significa usar a configuração global.

  • Outros valores são enabled e disabled.

Configuração global - Nível de Soft Anti-Affinity da Zona Réplica. Para mais detalhes, consulte Agendamento.

Réplica Disk Soft Anti-Affinity (campo: parameters.replicaDiskSoftAntiAffinity)

Padrão: ignored

  • ignored significa usar a configuração global.

  • Outros valores são enabled e disabled.

Configuração global - Nível de Soft Anti-Affinity do Disco Réplica. Para mais detalhes, consulte Agendamento.

Opções NFS (campo: parameters.nfsOptions)

Padrão: "" Exemplo: "hard,sync"

  • Substituições para montagem NFS de volumes RWX para o gerenciador de compartilhamento. Use este campo com cautela.

    As opções incorporadas variam conforme a versão. Verifique os detalhes da sua versão antes de definir isso.

Para mais detalhes, consulte o RWX Workloads.

Data Engine (campo: parameters.dataEngine)

Padrão: "v1"

  • Especifique "v2" para habilitar o V2 Data Engine (recurso em pré-visualização técnica). Quando não especificado, SUSE Storage usa o valor padrão ("v1").

Configuração global: V2 Data Engine. Mais detalhes em V2 Data Engine Início Rápido.

Congelar Sistema de Arquivos para Instantâneo (campo: parameters.freezeFilesystemForSnapshot)

Padrão: ignored

  • ignored instrui SUSE Storage a usar a configuração global.

  • Outros valores são enabled e disabled.

Nome do Destino de Backup (campo: parameters.backupTargetName)

Padrão: default

Tamanho do Bloco de Backup (campo: parameters.backupBlockSize)

Padrão: ""

Exemplo: "2Mi" ou "16Mi"

Uma string de quantidade do Kubernetes. Use uma string vazia "" para aplicar a configuração global.

Para obter mais informações, consulte:

Instalações do Helm

Se SUSE Storage estiver instalado via Helm, os valores na classe de armazenamento padrão podem ser definidos editando o item correspondente em values.yaml. Todos os parâmetros da Classe de Armazenamento têm um prefixo de persistence. Por exemplo, persistence.defaultNodeSelector.