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.

Gerenciar classes de armazenamento

Colaboradores

Encontre informações sobre como criar uma classe de armazenamento, excluir uma classe de armazenamento e exibir classes de armazenamento existentes.

Crie uma classe de armazenamento

Consulte "aqui" para obter mais informações sobre quais são as classes de armazenamento e como as configura.

Crie uma classe de armazenamento

Depois de ter um arquivo de classe de armazenamento, execute o seguinte comando:

kubectl create -f <storage-class-file>

<storage-class-file> deve ser substituído pelo nome do arquivo da classe de armazenamento.

Excluir uma classe de armazenamento

Para excluir uma classe de armazenamento do Kubernetes, execute o seguinte comando:

kubectl delete storageclass <storage-class>

<storage-class> deve ser substituído pela sua classe de armazenamento.

Todos os volumes persistentes criados com essa classe de storage permanecerão intocados, e o Astra Trident continuará gerenciá-los.

Observação O Astra Trident impõe um espaço em branco fsType para os volumes que cria. Para backends iSCSI, recomenda-se aplicar parameters.fsType no StorageClass. Você deve excluir o esixting StorageClasses e recriá-los com parameters.fsType o especificado.

Exibir as classes de armazenamento existentes

  • Para visualizar as classes de armazenamento do Kubernetes existentes, execute o seguinte comando:

kubectl get storageclass
  • Para ver os detalhes da classe de storage do Kubernetes, execute o seguinte comando:

kubectl get storageclass <storage-class> -o json
  • Para exibir as classes de storage sincronizadas do Astra Trident, execute o seguinte comando:

tridentctl get storageclass
  • Para visualizar os detalhes da classe de storage sincronizado do Astra Trident, execute o seguinte comando:

tridentctl get storageclass <storage-class> -o json

Defina uma classe de armazenamento padrão

O Kubernetes 1,6 adicionou a capacidade de definir uma classe de storage padrão. Esta é a classe de armazenamento que será usada para provisionar um volume persistente se um usuário não especificar um em uma reivindicação de volume persistente (PVC).

  • Defina uma classe de armazenamento padrão definindo a anotação storageclass.kubernetes.io/is-default-class como verdadeira na definição da classe de armazenamento. De acordo com a especificação, qualquer outro valor ou ausência da anotação é interpretado como falso.

  • Você pode configurar uma classe de armazenamento existente para ser a classe de armazenamento padrão usando o seguinte comando:

kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
  • Da mesma forma, você pode remover a anotação de classe de armazenamento padrão usando o seguinte comando:

kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'

Há também exemplos no pacote de instalação do Trident que incluem esta anotação.

Observação Você deve ter apenas uma classe de armazenamento padrão em seu cluster a qualquer momento. O Kubernetes não impede tecnicamente que você tenha mais de um, mas se comportará como se não houvesse nenhuma classe de storage padrão.

Identificar o back-end de uma classe de storage

Este é um exemplo do tipo de perguntas que você pode responder com o JSON que tridentctl produz para objetos backend Astra Trident. Isso usa o jq utilitário, que você pode precisar instalar primeiro.

tridentctl get storageclass -o json | jq  '[.items[] | {storageClass: .Config.name, backends: [.storage]|unique}]'