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.

Personalizar a instalação do operador Trident

Colaboradores

O operador Trident permite personalizar a instalação do Astra Trident usando os atributos da TridentOrchestrator especificação. Se você quiser personalizar a instalação além do que TridentOrchestrator os argumentos permitem, considere usar tridentctl para gerar manifestos YAML personalizados para modificar conforme necessário.

Compreensão dos pods dos nós e dos pods do controlador

O Astra Trident é executado como um único pod de controlador, além de um pod de nó em cada nó de trabalho no cluster. O pod de nó deve estar em execução em qualquer host onde você queira potencialmente montar um volume Astra Trident.

Kubernetes "seletores de nós" e "tolerações e taints"são usados para restringir um pod a ser executado em um nó específico ou preferencial. Usando o ControllerPlugin e `NodePlugin`o , você pode especificar restrições e substituições.

  • O plugin controlador lida com o provisionamento e gerenciamento de volume, como snapshots e redimensionamento.

  • O plug-in do nó manipula a conexão do armazenamento ao nó.

Opções de configuração

Aviso spec.namespace É especificado em TridentOrchestrator para indicar o namespace onde o Astra Trident está instalado. Este parâmetro não pode ser atualizado após a instalação do Astra Trident. Tentar fazê-lo faz com que o TridentOrchestrator status mude para Failed. O Astra Trident não se destina a ser migrado entre namespaces.

Esta tabela detalha TridentOrchestrator atributos.

Parâmetro Descrição Padrão

namespace

Namespace para instalar Astra Trident em

"predefinição"

debug

Habilite a depuração para o Astra Trident

falso

enableForceDetach

ontap-san e ontap-san-economy apenas. Funciona com o Kubernetes Non-Graceful Node Shutdown (NGNS) para conceder aos administradores de cluster a capacidade de migrar com segurança cargas de trabalho com volumes montados para novos nós caso um nó não seja saudável. Esta é uma caraterística experimental em 23,04. Detalhes sobre Force DetachConsulte para obter detalhes importantes.

false

windows

A configuração para true permite a instalação em nós de trabalho do Windows.

falso

IPv6

Instalar o Astra Trident em IPv6

falso

k8sTimeout

Tempo limite para operações do Kubernetes

30sec

silenceAutosupport

Não envie pacotes AutoSupport para o NetApp automaticamente

falso

autosupportImage

A imagem do recipiente para a telemetria AutoSupport

"NetApp/Trident-AutoSupport:23,07"

autosupportProxy

O endereço/porta de um proxy para o envio de telemetria AutoSupport

"http://proxy.example.com:8888"

uninstall

Um sinalizador usado para desinstalar o Astra Trident

falso

logFormat

Formato de log Astra Trident a ser usado [text,json]

"texto"

tridentImage

Imagem Astra Trident a instalar

"NetApp/Trident:23,07"

imageRegistry

Caminho para o Registro interno, do formato
<registry FQDN>[:port][/subpath]

"k8s.gcr.io/sig-storage" (mais de k8s 1,19 gb) ou "quay.io/k8scsi gb"

kubeletDir

Caminho para o diretório kubelet no host

"/var/lib/kubelet"

wipeout

Uma lista de recursos a serem excluídos para realizar uma remoção completa do Astra Trident

imagePullSecrets

Segredos para extrair imagens de um Registro interno

imagePullPolicy

Define a política de recebimento de imagens para o operador Trident. Os valores válidos são:
Always Para sempre puxar a imagem.
IfNotPresent para puxar a imagem apenas se ela ainda não existir no nó.
Never para nunca puxar a imagem.

IfNotPresent

controllerPluginNodeSelector

Seletores de nós adicionais para pods. Segue o mesmo formato que pod.spec.nodeSelector.

Sem padrão; opcional

controllerPluginTolerations

Substitui as tolerâncias do Kubernetes para pods. Segue o mesmo formato que pod.spec.Tolerations.

Sem padrão; opcional

nodePluginNodeSelector

Seletores de nós adicionais para pods. Segue o mesmo formato que pod.spec.nodeSelector.

Sem padrão; opcional

nodePluginTolerations

Substitui as tolerâncias do Kubernetes para pods. Segue o mesmo formato que pod.spec.Tolerations.

Sem padrão; opcional

Observação Para obter mais informações sobre a formatação dos parâmetros do pod, "Atribuindo pods a nós"consulte .

Detalhes sobre Force Detach

O Force Detach está disponível apenas para ontap-san e. ontap-san-economy Antes de ativar a desconexão forçada, o desligamento do nó (NGNS) não gracioso deve ser ativado no cluster do Kubernetes. Para obter mais informações, "Kubernetes: Desligamento do nó não gracioso"consulte .

Aviso Como o Astra Trident conta COM NGNS do Kubernetes, não out-of-service remova as taints de um nó que não seja saudável até que todos os workloads não toleráveis sejam reprogramados. Aplicar ou remover a taint de forma imprudente pode comprometer a proteção de dados no back-end.

Quando o administrador do cluster do Kubernetes tiver aplicado a node.kubernetes.io/out-of-service=nodeshutdown:NoExecute alteração ao nó e enableForceDetach estiver definido como true, o Astra Trident determinará o status do nó e:

  1. Cessar o acesso de e/S de back-end para volumes montados nesse nó.

  2. Marque o objeto nó Astra Trident como dirty (não é seguro para novas publicações).

    Observação O controlador Trident rejeitará novas solicitações de volume de publicação até que o nó seja requalificado (depois de ter sido marcado como dirty) pelo pod de nó do Trident. Quaisquer cargas de trabalho agendadas com um PVC montado (mesmo depois que o nó do cluster estiver pronto e saudável) não serão aceitas até que o Astra Trident possa verificar o nó clean (seguro para novas publicações).

Quando a integridade do nó é restaurada e a taint é removida, o Astra Trident:

  1. Identifique e limpe caminhos publicados obsoletos no nó.

  2. Se o nó estiver em um cleanable estado (a alteração fora de serviço foi removida e o nó está Ready no estado) e todos os caminhos obsoletos e publicados estiverem limpos, o Astra Trident reajustará o nó como clean e permitirá novos volumes publicados no nó.

Exemplos de configurações

Você pode usar os atributos mencionados acima ao definir TridentOrchestrator para personalizar sua instalação.

Exemplo 1: Configuração personalizada básica

Este é um exemplo para uma configuração personalizada básica.

cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
Exemplo 2: Implante com seletores de nós

Este exemplo ilustra como o Trident pode ser implantado com seletores de nós:

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
Exemplo 3: Implantar em nós de trabalho do Windows

Este exemplo ilustra a implantação em um nó de trabalho do Windows.

cat deploy/crds/tridentorchestrator_cr.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true