Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Personalice la instalación del operador de Trident

Colaboradores

El operador Trident le permite personalizar la instalación de Astra Trident con los atributos del TridentOrchestrator espec. Si desea personalizar la instalación más allá de qué TridentOrchestrator los argumentos lo permiten, considere usar tridentctl Para generar manifiestos YAML personalizados y modificarlos según sea necesario.

Descripción de los pods de la controladora y los pods de nodo

Astra Trident se ejecuta como un único pod de la controladora, más un pod de nodos en cada nodo de trabajo del clúster. El pod del nodo debe ejecutarse en cualquier host en el que desee montar potencialmente un volumen Astra Trident.

Kubernetes "selectores de nodos" y.. "toleraciones y tintes" se utilizan para restringir un pod para ejecutarse en un nodo concreto o preferido. Uso del "ControllerPlugin" y. NodePlugin, puede especificar restricciones y anulaciones.

  • El complemento de la controladora se ocupa del aprovisionamiento y la gestión de volúmenes, como snapshots y redimensionamiento.

  • El complemento de nodo se encarga de conectar el almacenamiento al nodo.

Opciones de configuración

Advertencia spec.namespace se especifica en TridentOrchestrator Para indicar el espacio de nombres en el que está instalado Astra Trident. Este parámetro no se puede actualizar después de instalar Astra Trident. Al intentar hacerlo, se genera el TridentOrchestrator estado a cambiar a. Failed. Astra Trident no está pensado para la migración entre espacios de nombres.

Esta tabla detalla TridentOrchestrator atributos.

Parámetro Descripción Predeterminado

namespace

Espacio de nombres para instalar Astra Trident en

"default"

debug

Habilite la depuración para Astra Trident

false

enableForceDetach

ontap-san y.. ontap-san-economy solamente.

Funciona con cierre de nodos no controlado (NGN) de Kubernetes para conceder a los administradores de clústeres la capacidad de migrar de forma segura cargas de trabajo con volúmenes montados a nodos nuevos en caso de que un nodo se vuelva en mal estado.

false

windows

Ajuste a. true Permite la instalación en nodos de trabajo de Windows.

false

cloudProvider

Establezca en "Azure" Cuando se utilizan identidades gestionadas o una identidad de nube en un clúster de AKS. Establecer en «AWS» cuando se utiliza una identidad de nube en un clúster de EKS.

""

cloudIdentity

Defina la identidad de carga de trabajo («azure.workload.identity/client-id: Xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx») cuando utilice la identidad de cloud en un clúster de AKS. Establezca el rol de AWS IAM ('eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/astratrident-role) cuando utilice la identidad de la nube en un clúster de EKS.

""

IPv6

Instale Astra Trident sobre IPv6

falso

k8sTimeout

Tiempo de espera para las operaciones de Kubernetes

30sec

silenceAutosupport

No envíe paquetes AutoSupport a NetApp
automáticamente

false

autosupportImage

La imagen contenedora para telemetría AutoSupport

"netapp/trident-autosupport:24.02"

autosupportProxy

La dirección/puerto de un proxy para enviar AutoSupport
Telemetría

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

uninstall

Una Marca utilizada para desinstalar Astra Trident

false

logFormat

Formato de registro de Astra Trident para utilizar [text,json]

"text"

tridentImage

Imagen de Astra Trident para instalar

"netapp/trident:24.02"

imageRegistry

Ruta de acceso al registro interno, del formato
<registry FQDN>[:port][/subpath]

"k8s.gcr.io/sig-storage" (Kubernetes 1,19 o posterior)
o. "quay.io/k8scsi"

kubeletDir

Ruta al directorio kubelet del host

"/var/lib/kubelet"

wipeout

Lista de recursos que se van a suprimir para realizar una eliminación completa de
Astra Trident

imagePullSecrets

Secretos para extraer imágenes de un registro interno

imagePullPolicy

Establece la política de extracción de imágenes para el operador Trident. Valores válidos:

Always para tirar siempre de la imagen.

IfNotPresent para extraer la imagen solo si aún no existe en el nodo.

Never para no tirar nunca de la imagen.

IfNotPresent

controllerPluginNodeSelector

Selectores de nodos adicionales para POD. Sigue el mismo formato que pod.spec.nodeSelector.

Sin valores predeterminados; opcional

controllerPluginTolerations

Anula la toleración de Kubernetes en pods. Sigue el mismo formato que pod.spec.Tolerations.

Sin valores predeterminados; opcional

nodePluginNodeSelector

Selectores de nodos adicionales para POD. Sigue el mismo formato que pod.spec.nodeSelector.

Sin valores predeterminados; opcional

nodePluginTolerations

Anula la toleración de Kubernetes en pods. Sigue el mismo formato que pod.spec.Tolerations.

Sin valores predeterminados; opcional

Nota Para obtener más información sobre el formato de los parámetros del pod, consulte "Asignación de pods a nodos".

Detalles acerca de forzar separación

Forzar separación está disponible para ontap-san y.. ontap-san-economy solamente. Antes de habilitar la desconexión forzada, se debe habilitar el cierre de nodos (NGN) no controlado en el clúster de Kubernetes. Para obtener más información, consulte "Kubernetes: Cierre de nodo sin gracia".

Advertencia Dado que Astra Trident se basa en NGN de Kubernetes, no lo elimine out-of-service mantiene un nodo en mal estado hasta que se reprograman todas las cargas de trabajo no tolerables. La aplicación o eliminación imprudente de la contaminación puede poner en peligro la protección de datos de back-end.

Cuando el administrador del clúster de Kubernetes ha aplicado el node.kubernetes.io/out-of-service=nodeshutdown:NoExecute mancha al nodo y. enableForceDetach se establece en true, Astra Trident determinará el estado del nodo y:

  1. Cese el acceso de I/O back-end para los volúmenes montados en ese nodo.

  2. Marque el objeto de nodo de Astra Trident como dirty (no es seguro para las nuevas publicaciones).

    Nota La controladora Trident rechazará nuevas solicitudes de volumen de publicación hasta que el nodo se vuelva a calificar (después de haberse marcado como dirty) Por el pod del nodo de Trident. No se aceptarán todas las cargas de trabajo programadas con una RVP montada (incluso después de que el nodo del clúster esté en buen estado y listo) hasta que Astra Trident pueda verificar el nodo clean (seguro para nuevas publicaciones).

Cuando se restaure el estado del nodo y se elimine el tinte, Astra Trident:

  1. Identifique y limpie las rutas publicadas obsoletas en el nodo.

  2. Si el nodo está en cleanable estado (se ha eliminado la contaminación de fuera de servicio y el nodo está en Ready estatal) Y todas las rutas obsoletas publicadas están limpias, Astra Trident reenviará el nodo como clean y permitir nuevos volúmenes publicados al nodo.

Configuraciones de ejemplo

Puede utilizar los atributos en Opciones de configuración al definir TridentOrchestrator para personalizar la instalación.

Configuración personalizada básica

Este es un ejemplo de una instalación 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
Selectores de nodos

Este ejemplo instala Astra Trident con selectores de nodos.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
Nodos de trabajo de Windows

En este ejemplo se instala Astra Trident en un nodo de trabajo de Windows.

cat deploy/crds/tridentorchestrator_cr.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
Identidades administradas en un cluster AKS

En este ejemplo se instala Astra Trident para habilitar identidades gestionadas en un clúster de AKS.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
Identidad de nube en un clúster AKS

En este ejemplo se instala Astra Trident para usarlo con una identidad de cloud en un clúster de AKS.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
  cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
Identidad de nube en un clúster de EKS

En este ejemplo se instala Astra Trident para usarlo con una identidad de cloud en un clúster de AKS.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "AWS"
  cloudIdentity: "'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/astratrident-role'"