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 netapp-aruldeepa juliantap netapp-mwallis

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 único pod de controlador y un pod de nodo en cada nodo de trabajo del clúster. El pod del nodo debe estar ejecutándose en cualquier host donde se desee potencialmente montar un volumen 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 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

namespace

Espacio de nombres para instalar Trident en

"default"

debug

Active la depuración para Trident

false

enableForceDetach

ontap-san, ontap-san-economy , ontap-nas , y ontap-nas-economy solo. Funciona con Kubernetes Non-Graceful Node Shutdown (NGNS) para brindar a los administradores del clúster la capacidad de migrar de forma segura las cargas de trabajo con volúmenes montados a nuevos nodos en caso de que un nodo deje de funcionar correctamente. Para obtener más información, consulte"Automatización de la conmutación por error de aplicaciones con estado con Trident" .

false

windows

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

false

cloudProvider

Establecer como "Azure" cuando se utilizan identidades gestionadas o una identidad de nube en un clúster de AKS. Establecer como "AWS" cuando se utiliza una identidad de nube en un clúster de EKS. Establecer como "GCP" cuando se utiliza una identidad de nube en un clúster de GKE.

""

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/Trident-ROLE') cuando utilice la identidad de cloud en un clúster de EKS. Se establece en la identidad de la nube («iam.gke.io/gcp-service-account: xxxx@mygcpproject.iam.gserviceaccount.com») cuando se utiliza la identidad de la nube en un clúster de GKE.

""

IPv6

Instale Trident sobre IPv6

falso

k8sTimeout

Tiempo de espera para las operaciones de Kubernetes.

Nota El k8sTimeout El parámetro solo se aplica a la instalación de Trident .

180sec

silenceAutosupport

No envíe paquetes AutoSupport a NetApp
automáticamente

false

autosupportImage

La imagen contenedora para telemetría AutoSupport

"netapp/trident-autosupport10"

autosupportProxy

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

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

uninstall

Indicador utilizado para desinstalar Trident

false

logFormat

Formato de registro Trident que se va a utilizar [text,json]

"text"

tridentImage

Imagen Trident para instalar

"netapp/trident:25.10"

imageRegistry

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

"registry.k8s.io"

kubeletDir

Ruta al directorio kubelet del host

"/var/lib/kubelet"

wipeout

Una lista de recursos que se deben eliminar para realizar una eliminación completa de 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

nodePrep

Permite a Trident preparar los nodos del clúster de Kubernetes para gestionar volúmenes mediante el protocolo de almacenamiento de datos especificado. Actualmente, iscsi es el único valor soportado.

Nota A partir de OpenShift 4.19, la versión mínima de Trident compatible con esta función es 25.06.1.

k8sAPIQPS

El límite de consultas por segundo (QPS) utilizado por el controlador mientras se comunica con el servidor de API de Kubernetes. El valor de ráfaga se establece automáticamente en función del valor QPS.

100; opcional

enableConcurrency

Permite operaciones simultáneas del controlador Trident para mejorar el rendimiento.

Nota Vista previa técnica: Esta función es experimental y actualmente admite flujos de trabajo paralelos limitados con los controladores ONTAP-NAS (solo NFS) y ONTAP-SAN (NVMe para unified ONTAP 9), además de la vista previa técnica existente para el controlador ONTAP-SAN (protocolos iSCSI y FCP en unified ONTAP 9).

falso

resources

Establece los límites de recursos y las solicitudes de Kubernetes para el controlador Trident y los pods de nodos. Puedes configurar la CPU y la memoria para cada contenedor y sidecar para gestionar la asignación de recursos en Kubernetes.

Para obtener más información sobre la configuración de solicitudes y límites de recursos, consulte"Gestión de recursos para pods y contenedores" .

Advertencia
  • NO cambie los nombres de ningún contenedor ni campo.

  • NO cambie la sangría: la sangría de YAML es fundamental para un análisis correcto.

Nota
  • Por defecto no se aplican límites; solo las solicitudes tienen valores predeterminados y se aplican automáticamente si no se especifican.

  • Los nombres de los contenedores se enumeran tal como aparecen en las especificaciones del pod.

  • Los sidecares se enumeran debajo de cada contenedor principal.

  • Consulta el TORC status.CurrentInstallationParams campo para ver los valores aplicados actualmente.

resources:
  controller:
    trident-main:
      requests:
        cpu: 10m
        memory: 80Mi
      limits:
          cpu:
          memory:
    csi-provisioner:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-attacher:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-resizer:
      requests:
        cpu: 3m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-snapshotter:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    trident-autosupport:
      requests:
        cpu: 1m
        memory: 30Mi
      limits:
        cpu:
        memory:
  node:
    linux:
      trident-main:
        requests:
          cpu: 10m
          memory: 60Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 1m
          memory: 10Mi
        limits:
          cpu:
          memory:
    windows:
      trident-main:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      liveness-probe:
        requests:
          cpu: 2m
          memory: 40Mi
        limits:
          cpu:
          memory:

httpsMetrics

Habilita HTTPS para el punto de conexión de métricas de Prometheus.

falso

hostNetwork

Habilita la conexión en red del host para el controlador Trident . Esto resulta útil cuando se desea separar el tráfico del frontend del tráfico del backend en una red multihome.

falso

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

Configuraciones de ejemplo

Puedes usar los atributos enOpciones de configuración al definir TridentOrchestrator para personalizar su instalación.

Configuración personalizada básica

Este ejemplo, creado después de ejecutar el cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml Este comando representa una instalación personalizada básica:

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
selectores de nodos

Este ejemplo 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

Este ejemplo, creado después de ejecutar el cat deploy/crds/tridentorchestrator_cr.yaml Este comando instala Trident en un nodo de trabajo de Windows.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
Identidades administradas en un clúster de AKS

Este ejemplo instala Trident para habilitar identidades administradas en un clúster de AKS.

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

Este ejemplo instala Trident para su uso con una identidad en la nube 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 en la nube en un clúster EKS

Este ejemplo instala Trident para su uso con una identidad en la nube 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/trident-role'"
Identidad de nube para GKE

Este ejemplo instala Trident para su uso con una identidad en la 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
Configuración de solicitudes y límites de recursos de Kubernetes para el controlador Trident y los pods de nodos Linux de Trident

Este ejemplo configura las solicitudes y los límites de recursos de Kubernetes para el controlador Trident y los pods de nodos Linux de Trident .

Advertencia Aviso legal: Los valores de solicitud y límite proporcionados en este ejemplo son solo para fines demostrativos. Ajuste estos valores según las necesidades de su entorno y carga de trabajo.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
      # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
Configuración de solicitudes y límites de recursos de Kubernetes para el controlador Trident y los pods de nodos Trident de Windows y Linux

Este ejemplo configura las solicitudes y los límites de recursos de Kubernetes para el controlador Trident y los pods de nodos Trident de Windows y Linux.

Advertencia Aviso legal: Los valores de solicitud y límite proporcionados en este ejemplo son solo para fines demostrativos. Ajuste estos valores según las necesidades de su entorno y carga de trabajo.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  windows: true
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
        # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
      windows:
        trident-main:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 200m
            memory: 128Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 100m
            memory: 128Mi
        liveness-probe:
          requests:
            cpu: 2m
            memory: 40Mi
          limits:
            cpu: 50m
            memory: 64Mi