Personalizar a instalação do operador Trident
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
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 para instalar Astra Trident em |
"predefinição" |
|
Habilite a depuração para o Astra Trident |
falso |
|
|
|
|
A configuração para |
falso |
|
Instalar o Astra Trident em IPv6 |
falso |
|
Tempo limite para operações do Kubernetes |
30sec |
|
Não envie pacotes AutoSupport para o NetApp automaticamente |
falso |
|
A imagem do recipiente para a telemetria AutoSupport |
"NetApp/Trident-AutoSupport:23,07" |
|
O endereço/porta de um proxy para o envio de telemetria AutoSupport |
|
|
Um sinalizador usado para desinstalar o Astra Trident |
falso |
|
Formato de log Astra Trident a ser usado [text,json] |
"texto" |
|
Imagem Astra Trident a instalar |
"NetApp/Trident:23,07" |
|
Caminho para o Registro interno, do formato |
"k8s.gcr.io/sig-storage" (mais de k8s 1,19 gb) ou "quay.io/k8scsi gb" |
|
Caminho para o diretório kubelet no host |
"/var/lib/kubelet" |
|
Uma lista de recursos a serem excluídos para realizar uma remoção completa do Astra Trident |
|
|
Segredos para extrair imagens de um Registro interno |
|
|
Define a política de recebimento de imagens para o operador Trident. Os valores válidos são: |
|
|
Seletores de nós adicionais para pods. Segue o mesmo formato que |
Sem padrão; opcional |
|
Substitui as tolerâncias do Kubernetes para pods. Segue o mesmo formato que |
Sem padrão; opcional |
|
Seletores de nós adicionais para pods. Segue o mesmo formato que |
Sem padrão; opcional |
|
Substitui as tolerâncias do Kubernetes para pods. Segue o mesmo formato que |
Sem padrão; opcional |
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 .
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:
-
Cessar o acesso de e/S de back-end para volumes montados nesse nó.
-
Marque o objeto nó Astra Trident como
dirty
(não é seguro para novas publicações).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:
-
Identifique e limpe caminhos publicados obsoletos no nó.
-
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ó comoclean
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