Personalice la instalación del operador de Trident
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
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 |
---|---|---|
|
Espacio de nombres para instalar Astra Trident en |
"predeterminado" |
|
Habilite la depuración para Astra Trident |
falso |
|
|
|
|
Ajuste a. |
falso |
|
Instale Astra Trident sobre IPv6 |
falso |
|
Tiempo de espera para las operaciones de Kubernetes |
30 seg |
|
No envíe paquetes AutoSupport a NetApp |
falso |
|
La imagen contenedora para telemetría AutoSupport |
«netapp/trident-autosupport:23,07» |
|
La dirección/puerto de un proxy para enviar AutoSupport |
|
|
Una Marca utilizada para desinstalar Astra Trident |
falso |
|
Formato de registro de Astra Trident para utilizar [text,json] |
"texto" |
|
Imagen de Astra Trident para instalar |
«netapp/trident:23,07» |
|
Ruta de acceso al registro interno, del formato |
«k8s.gcr.io/sig-storage» (k8s 1,19+) |
|
Ruta al directorio kubelet del host |
«/var/lib/kubelet» |
|
Lista de recursos que se van a suprimir para realizar una eliminación completa de |
|
|
Secretos para extraer imágenes de un registro interno |
|
|
Establece la política de extracción de imágenes para el operador Trident. Valores válidos: |
|
|
Selectores de nodos adicionales para POD. Sigue el mismo formato que |
Sin valores predeterminados; opcional |
|
Anula la toleración de Kubernetes en pods. Sigue el mismo formato que |
Sin valores predeterminados; opcional |
|
Selectores de nodos adicionales para POD. Sigue el mismo formato que |
Sin valores predeterminados; opcional |
|
Anula la toleración de Kubernetes en pods. Sigue el mismo formato que |
Sin valores predeterminados; opcional |
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".
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:
-
Cese el acceso de I/O back-end para los volúmenes montados en ese nodo.
-
Marque el objeto de nodo de Astra Trident como
dirty
(no es seguro para las nuevas publicaciones).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 nodoclean
(seguro para nuevas publicaciones).
Cuando se restaure el estado del nodo y se elimine el tinte, Astra Trident:
-
Identifique y limpie las rutas publicadas obsoletas en el nodo.
-
Si el nodo está en
cleanable
estado (se ha eliminado la contaminación de fuera de servicio y el nodo está enReady
estatal) Y todas las rutas obsoletas publicadas están limpias, Astra Trident reenviará el nodo comoclean
y permitir nuevos volúmenes publicados al nodo.
Configuraciones de ejemplo
Puede utilizar los atributos mencionados anteriormente al definir TridentOrchestrator
para personalizar la instalación.
Ejemplo 1: Configuración personalizada básica
Este es un ejemplo de una configuració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
Ejemplo 2: Implementar con selectores de nodos
Este ejemplo ilustra cómo se puede implementar Trident con los selectores de nodos:
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident controllerPluginNodeSelector: nodetype: master nodePluginNodeSelector: storage: netapp
Ejemplo 3: Implementar en nodos de trabajo de Windows
Este ejemplo ilustra la implementación 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