Personalice la instalación del operador de Trident
El operador Trident le permite personalizar la instalación de Trident utilizando los atributos de la TridentOrchestrator
especificación. Si desea personalizar la instalación más allá de lo que TridentOrchestrator
permiten los argumentos, considere utilizar tridentctl
para generar manifiestos YAML personalizados para modificarlos según sea necesario.
Descripción de los pods de la controladora y los pods de nodo
Trident se ejecuta como un pod de controladora único, más un pod de nodo en cada nodo trabajador del clúster. El pod de nodo debe ejecutarse en cualquier host en el que desee potencialmente montar un volumen de 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 donde se instala Trident. Este parámetro no se puede actualizar después de instalar Trident. Si lo intenta, el TridentOrchestrator estado cambia a Failed . La intención de Trident no es migrar entre espacios de nombres.
|
Esta tabla detalla TridentOrchestrator
atributos.
Parámetro | Descripción | Predeterminado |
---|---|---|
|
Espacio de nombres para instalar Trident en |
|
|
Active la depuración para Trident |
|
|
|
|
|
Ajuste a. |
|
|
Establezca en |
|
|
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/Trident-ROLE) cuando utilice la identidad de cloud en un clúster de EKS. |
|
|
Instale Trident sobre IPv6 |
falso |
|
Tiempo de espera para las operaciones de Kubernetes |
|
|
No envíe paquetes AutoSupport a NetApp |
|
|
La imagen contenedora para telemetría AutoSupport |
|
|
La dirección/puerto de un proxy para enviar AutoSupport |
|
|
Indicador utilizado para desinstalar Trident |
|
|
Formato de registro Trident que se va a utilizar [text,json] |
|
|
Imagen Trident para instalar |
|
|
Ruta de acceso al registro interno, del formato |
|
|
Ruta al directorio kubelet del host |
|
|
Una lista de recursos que se deben eliminar para realizar una eliminación completa de Trident |
|
|
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 |
|
Permite a Trident preparar los nodos del clúster de Kubernetes para gestionar volúmenes mediante el protocolo de almacenamiento de datos especificado. Actualmente, |
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 sólo para ontap-san
, ontap-san-economy
y. onatp-nas-economy
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".
Cuando se utiliza ontap-nas-economy el controlador, es necesario establecer el autoExportPolicy parámetro en la configuración de backend para true que Trident pueda restringir el acceso desde el nodo de Kubernetes con la contaminación aplicada mediante políticas de exportación gestionadas.
|
Dado que Trident se basa en LAS NGN de Kubernetes, no elimine out-of-service los daños de un nodo en mal estado hasta que se reprogramen 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 haya aplicado la node.kubernetes.io/out-of-service=nodeshutdown:NoExecute
tinta al nodo y enableForceDetach
se establezca en true
, 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 Trident como
dirty
(no es seguro para las nuevas publicaciones).El controlador 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 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 Trident pueda verificar el nodoclean
(seguro para las nuevas publicaciones).
Cuando se restaure el estado del nodo y se elimine el tinte, Trident:
-
Identifique y limpie las rutas publicadas obsoletas en el nodo.
-
Si el nodo está en un
cleanable
estado (se ha quitado el taint de fuera de servicio y el nodo está enReady
estado) y todas las rutas obsoletas publicadas están limpias, Trident readmitirá el nodo comoclean
y permitirá que los 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
En este ejemplo se instala 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 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 Trident para activar identidades gestionadas en un cluster 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 Trident para utilizarlo con una identidad de nube en un clúster 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 Trident para utilizarlo con una identidad de nube en un clúster 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/trident-role'"
Identidad de nube para GKE
En este ejemplo se instala Trident para su uso con una identidad de nube en un clúster de GKE.
apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-gcp-gcnv spec: version: 1 storageDriverName: google-cloud-netapp-volumes projectNumber: '012345678901' network: gcnv-network location: us-west2 serviceLevel: Premium storagePool: pool-premium1