Implemente manualmente el operador Trident (modo sin conexión).
Puede implementar manualmente el operador Trident para instalar Trident. Este proceso se aplica a instalaciones en las que las imágenes de contenedor requeridas por Trident se almacenan en un registro privado. Si no dispone de un registro de imágenes privado, utilice el "proceso de implementación estándar".
Información crítica sobre Trident 25,02
Debe leer la siguiente información crítica sobre Trident.
<strong>Información crítica sobre Trident </strong>
-
Kubernetes 1,32 ahora es compatible con Trident. Actualizar Trident antes de actualizar Kubernetes.
-
Trident aplica estrictamente el uso de la configuración de múltiples rutas en entornos SAN, con un valor recomendado de
find_multipaths: noen archivo multipath.conf.El uso de una configuración que no sea multivía o el uso
find_multipaths: yesofind_multipaths: smartun valor en el archivo multipath.conf provocará errores de montaje. Trident ha recomendado el uso defind_multipaths: nodesde la versión 21,07.
Implemente manualmente el operador de Trident e instale Trident
Revise "descripción general de la instalación"para asegurarse de que cumple los requisitos previos de la instalación y ha seleccionado la opción de instalación correcta para su entorno.
Inicie sesión en el host Linux y compruebe que está gestionando un funcionamiento y "Clúster de Kubernetes compatible"que dispone de la Privileges necesaria.
|
|
Con OpenShift, use oc en lugar de en kubectl todos los ejemplos que siguen, e inicie sesión como system:admin primero ejecutando oc login -u system:admin o oc login -u kube-admin.
|
Details
-
Compruebe su versión de Kubernetes:
kubectl version
-
Comprobar los privilegios de administrador de clúster:
kubectl auth can-i '*' '*' --all-namespaces
-
Compruebe que puede iniciar un pod que utilice una imagen de Docker Hub para llegar al sistema de almacenamiento a través de la red de pod:
kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \ ping <management IP>
Paso 1: Descargue el paquete de instalación de Trident
El paquete de instalación de Trident contiene todo lo necesario para implementar el operador Trident e instalar Trident. Descargue y extraiga la última versión del instalador de Trident de "La sección Assets de GitHub".
wget https://github.com/NetApp/trident/releases/download/v25.02.0/trident-installer-25.02.0.tar.gz tar -xf trident-installer-25.02.0.tar.gz cd trident-installer
Paso 2: Crear el TridentOrchestrator CRD
Crea el TridentOrchestrator Definición de recurso personalizado (CRD). Crearás un TridentOrchestrator Recurso personalizado más adelante. Utilice la versión CRD YAML apropiada en deploy/crds Para crear el TridentOrchestrator CRD:
kubectl create -f deploy/crds/<VERSION>.yaml
Paso 3: Actualice la ubicación del registro en el operador
En /deploy/operator.yaml, actualice image: docker.io/netapp/trident-operator:25.02.0 para reflejar la ubicación del registro de imágenes. "Imágenes Trident y CSI"Puede estar ubicado en un registro o registros diferentes, pero todas las imágenes CSI deben estar ubicadas en el mismo registro. Por ejemplo:
-
image: <your-registry>/trident-operator:25.02.0si todas sus imágenes están ubicadas en un registro. -
image: <your-registry>/netapp/trident-operator:25.02.0Si su imagen Trident se encuentra en un registro diferente de sus imágenes CSI.
Paso 4: Despliegue el operador Trident
El instalador de Trident proporciona un archivo de paquete que se puede utilizar para instalar el operador y crear objetos asociados. El archivo bundle es una manera fácil de implementar el operador e instalar Trident usando una configuración predeterminada.
-
Para los clústeres que ejecutan Kubernetes 1,24, utilice
bundle_pre_1_25.yaml. -
Para los clústeres que ejecutan Kubernetes 1,25 o posterior, utilice
bundle_post_1_25.yaml.
-
De forma predeterminada, el instalador de Trident despliega el operador en
tridentel espacio de nombres. Si eltridentespacio de nombres no existe, créelo con:kubectl apply -f deploy/namespace.yaml
-
Para desplegar el operador en un espacio de nombres distinto
tridentdel espacio de nombres, actualiceserviceaccount.yamlclusterrolebinding.yamlyoperator.yamlgenere el archivo de grupo mediante elkustomization.yaml.-
Cree el
kustomization.yamlmediante el siguiente comando donde <bundle.yaml> estábundle_pre_1_25.yamlobundle_post_1_25.yamlbasado en su versión de Kubernetes.cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
-
Compile el paquete con el siguiente comando donde <bundle.yaml> está
bundle_pre_1_25.yamlobundle_post_1_25.yamlbasado en su versión de Kubernetes.kubectl kustomize deploy/ > deploy/<bundle.yaml>
-
-
Crear los recursos e implementar el operador:
kubectl create -f deploy/<bundle.yaml>
-
Compruebe que se han creado el operador, el despliegue y los replicasets.
kubectl get all -n <operator-namespace>
|
|
Solo debe haber una instancia del operador en un clúster de Kubernetes. No cree varias implementaciones del operador Trident. |
Paso 5: Actualice la ubicación del registro de imágenes en el TridentOrchestrator
"Imágenes Trident y CSI"Puede estar ubicado en un registro o registros diferentes, pero todas las imágenes CSI deben estar ubicadas en el mismo registro. Actualice deploy/crds/tridentorchestrator_cr.yaml para agregar las especificaciones de ubicación adicionales basadas en la configuración del registro.
imageRegistry: "<your-registry>" autosupportImage: "<your-registry>/trident-autosupport:25.02" tridentImage: "<your-registry>/trident:25.02.0"
imageRegistry: "<your-registry>" autosupportImage: "<your-registry>/trident-autosupport:25.02" tridentImage: "<your-registry>/trident:25.02.0"
Paso 6: Crear TridentOrchestrator e instalar Trident
Ahora puede crear TridentOrchestrator e instalar Trident. Si lo desea, puede "Personalice su instalación de Trident"utilizar los atributos de la TridentOrchestrator especificación. En el siguiente ejemplo se muestra una instalación donde las imágenes Trident y CSI se encuentran en diferentes registros.
kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
tridentorchestrator.trident.netapp.io/trident created
kubectl describe torc trident
Name: trident
Namespace:
Labels: <none>
Annotations: <none>
API Version: trident.netapp.io/v1
Kind: TridentOrchestrator
...
Spec:
Autosupport Image: <your-registry>/trident-autosupport:25.02
Debug: true
Image Registry: <your-registry>
Namespace: trident
Trident Image: <your-registry>/trident:25.02.0
Status:
Current Installation Params:
IPv6: false
Autosupport Hostname:
Autosupport Image: <your-registry>/trident-autosupport:25.02
Autosupport Proxy:
Autosupport Serial Number:
Debug: true
Http Request Timeout: 90s
Image Pull Secrets:
Image Registry: <your-registry>
k8sTimeout: 30
Kubelet Dir: /var/lib/kubelet
Log Format: text
Probe Port: 17546
Silence Autosupport: false
Trident Image: <your-registry>/trident:25.02.0
Message: Trident installed
Namespace: trident
Status: Installed
Version: v25.02.0
Events:
Type Reason Age From Message ---- ------ ---- ---- -------Normal
Installing 74s trident-operator.netapp.io Installing Trident Normal
Installed 67s trident-operator.netapp.io Trident installed
Compruebe la instalación
Existen varias formas de verificar su instalación.
Utilizando TridentOrchestrator el estado
El estado de TridentOrchestrator indica si la instalación se ha realizado correctamente y muestra la versión de Trident instalada. Durante la instalación, el estado de TridentOrchestrator cambia de Installing a Installed. Si observa Failed el estado y el operador es incapaz de recuperarse por sí mismo, "compruebe los registros".
| Estado | Descripción |
|---|---|
Instalación |
El operador está instalando Trident con este |
Instalado |
Trident se ha instalado correctamente. |
Desinstalando |
El operador está desinstalando Trident, porque |
Desinstalado |
Trident se ha desinstalado. |
Con errores |
El operador no ha podido instalar, aplicar parches, actualizar o desinstalar Trident; el operador intentará automáticamente recuperarse de este estado. Si este estado continúa, necesitará solucionar problemas. |
Actualizando |
El operador está actualizando una instalación existente. |
Error |
`TridentOrchestrator`No se utiliza. Otro ya existe. |
Uso del estado de creación de pod
Puede confirmar si la instalación de Trident ha finalizado revisando el estado de los pods creados:
kubectl get pods -n trident NAME READY STATUS RESTARTS AGE trident-controller-7d466bf5c7-v4cpw 6/6 Running 0 1m trident-node-linux-mr6zc 2/2 Running 0 1m trident-node-linux-xrp7w 2/2 Running 0 1m trident-node-linux-zh2jt 2/2 Running 0 1m trident-operator-766f7b8658-ldzsv 1/1 Running 0 3m
Utilizando tridentctl
Puede utilizar tridentctl para comprobar la versión de Trident instalada.
./tridentctl -n trident version +----------------+----------------+ | SERVER VERSION | CLIENT VERSION | +----------------+----------------+ | 25.02.0 | 25.02.0 | +----------------+----------------+