Actualizar con el operador
Puede actualizar fácilmente una instalación existente de Astra Trident con el operador.
Para realizar la actualización con el operador, se deben cumplir las siguientes condiciones:
-
Debe disponer de una instalación de Astra Trident basada en CSI. Todas las versiones de 19.07 en adelante se basan en CSI. Es posible examinar los pods en el espacio de nombres de Trident para verificarlos.
-
La asignación de nombres de POD en versiones anteriores a la 23.01 sigue a
trident-csi-*
convención. -
La nomenclatura de POD en 23.01 y versiones posteriores utiliza:
trident-controller-<generated id>
para el pod de la controladora;trident-node-<operating system>-<generated id>
para los pods de nodo;trident-operator-<generated id>
para el podómetro del operador.
-
-
Si ha desinstalado CSI Trident y los metadatos de la instalación persisten, puede realizar la actualización mediante el operador.
-
Solo debe haber una instalación de Astra Trident en todos los espacios de nombres en un clúster de Kubernetes determinado.
-
Debe usar un clúster de Kubernetes en ejecución "Una versión de Kubernetes compatible".
-
Si hay CRD de instantánea alfa, debe eliminarlos con
tridentctl obliviate alpha-snapshot-crd
. De esta forma se eliminan los CRD para la especificación de instantánea alfa. Para obtener información sobre las snapshots existentes que se deben eliminar/migrar, consulte "este blog".
|
Actualice una instalación de operador de Trident de ámbito de clúster
Siga estos pasos para actualizar una instalación de operador de Trident de ámbito del clúster. Todas las versiones 21.01 y posteriores de Astra Trident utilizan un operador con ámbito de clúster.
-
Compruebe su versión de Astra Trident:
./tridentctl -n trident version
-
Elimine el operador Trident que se ha utilizado para instalar la instancia actual de Astra Trident. Por ejemplo, si va a actualizar desde 22.01, ejecute el siguiente comando:
kubectl delete -f 22.01/trident-installer/deploy/bundle.yaml -n trident
-
Si ha personalizado la instalación inicial mediante
TridentOrchestrator
atributos, puede editarTridentOrchestrator
objeto para modificar los parámetros de instalación. Esto podría incluir cambios realizados para especificar registros de imágenes de Trident y CSI reflejados para el modo sin conexión, habilitar registros de depuración o especificar secretos de extracción de imágenes. -
Instale Astra Trident con el archivo YAML de paquete correcto para su entorno y la versión Astra Trident. Por ejemplo, si está instalando Astra Trident 23.01 para Kubernetes 1.26, ejecute el siguiente comando:
kubectl create -f 23.01.1/trident-installer/deploy/bundle_post_1_25.yaml -n trident
Trident proporciona un archivo de paquete que se puede usar para instalar el operador y crear objetos asociados para la versión de Kubernetes.
-
Para los clústeres que ejecutan Kubernetes 1.24 o inferior, utilice "bundle_pre_1_25.yaml".
-
Utilice el para clústeres que ejecuten Kubernetes 1.25 o superior "bundle_post_1_25.yaml".
-
El operador de Trident identifica una instalación existente de Astra Trident y la actualiza a la misma versión que el operador.
Actualice la instalación de un operador de ámbito de espacio de nombres
Siga estos pasos para actualizar desde una instancia de Astra Trident instalada mediante el operador Namespace (versiones 20.07 a 20.10).
-
Compruebe el estado de la instalación existente de Trident. Para ello, compruebe el estado * de
TridentProvisioner
. El estado debe serInstalled
.kubectl describe tprov trident -n trident | grep Message: -A 3 Message: Trident installed Status: Installed Version: v20.10.1
Si el estado muestra Updating
, asegúrese de resolverlo antes de continuar. Para obtener una lista de los posibles valores de estado, consulte "aquí". -
Cree el
TridentOrchestrator
CRD mediante el manifiesto proporcionado con el instalador de Trident.# Download the release required [23.01.1] mkdir 23.01.1 cd 23.01.1 wget https://github.com/NetApp/trident/releases/download/v23.01.1/trident-installer-23.01.1.tar.gz tar -xf trident-installer-23.01.1.tar.gz cd trident-installer kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
Elimine el operador de ámbito del espacio de nombres mediante su manifiesto. Para completar este paso, necesita el archivo YLMA de paquete utilizado para desplegar el operador de ámbito de espacio de nombres de
https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML
dondevXX.XX
es el número de versión y.BUNDLE.YAML
Es el nombre del archivo YAML del grupo.Debe realizar los cambios necesarios en los parámetros de instalación de Trident (por ejemplo, cambiar los valores para tridentImage
,autosupportImage
, repositorio privado de imágenes y provisiónimagePullSecrets
) después de eliminar el operador de ámbito de espacio de nombres y antes de instalar el operador de ámbito de clúster. Para obtener una lista completa de los parámetros que se pueden actualizar, consulte la "opciones de configuración".#Ensure you are in the right directory pwd /root/20.10.1/trident-installer #Delete the namespace-scoped operator kubectl delete -f deploy/<BUNDLE.YAML> -n trident serviceaccount "trident-operator" deleted clusterrole.rbac.authorization.k8s.io "trident-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "trident-operator" deleted deployment.apps "trident-operator" deleted podsecuritypolicy.policy "tridentoperatorpods" deleted #Confirm the Trident operator was removed kubectl get all -n trident NAME READY STATUS RESTARTS AGE pod/trident-csi-68d979fb85-dsrmn 6/6 Running 12 99d pod/trident-csi-8jfhf 2/2 Running 6 105d pod/trident-csi-jtnjz 2/2 Running 6 105d pod/trident-csi-lcxvh 2/2 Running 8 105d NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/trident-csi ClusterIP 10.108.174.125 <none> 34571/TCP,9220/TCP 105d NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/trident-csi 3 3 3 3 3 kubernetes.io/arch=amd64,kubernetes.io/os=linux 105d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/trident-csi 1/1 1 1 105d NAME DESIRED CURRENT READY AGE replicaset.apps/trident-csi-68d979fb85 1 1 1 105d
En esta etapa, la
trident-operator-xxxxxxxxxx-xxxxx
pod se ha eliminado. -
(Opcional) Si es necesario modificar los parámetros de instalación, actualice
TridentProvisioner
espec. Estos pueden ser cambios como modificar el registro de imágenes privadas para extraer imágenes de contenedores, habilitar registros de depuración o especificar secretos de extracción de imágenes.kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
-
Instale el operador Trident.
La instalación del operador de ámbito del clúster inicia la migración de TridentProvisioner
objetos a.TridentOrchestrator
objetos, eliminacionesTridentProvisioner
los objetos y latridentprovisioner
CRD y actualiza Astra Trident a la versión del operador de ámbito del clúster que se utiliza. En el ejemplo siguiente, Trident se actualiza a 23.01.1.La actualización de Astra Trident con el operador Trident provoca la migración de tridentProvisioner
atridentOrchestrator
objeto con el mismo nombre. El operador lo maneja automáticamente. La actualización también tendrá instalada Astra Trident en el mismo espacio de nombres que antes.#Ensure you are in the correct directory pwd /root/23.01.1/trident-installer #Install the cluster-scoped operator in the **same namespace** kubectl create -f deploy/<BUNDLE.YAML> serviceaccount/trident-operator created clusterrole.rbac.authorization.k8s.io/trident-operator created clusterrolebinding.rbac.authorization.k8s.io/trident-operator created deployment.apps/trident-operator created podsecuritypolicy.policy/tridentoperatorpods created #All tridentProvisioners will be removed, including the CRD itself kubectl get tprov -n trident Error from server (NotFound): Unable to list "trident.netapp.io/v1, Resource=tridentprovisioners": the server could not find the requested resource (get tridentprovisioners.trident.netapp.io) #tridentProvisioners are replaced by tridentOrchestrator kubectl get torc NAME AGE trident 13s #Examine Trident pods in the namespace kubectl get pods -n trident NAME READY STATUS RESTARTS AGE trident-controller-79df798bdc-m79dc 6/6 Running 0 1m41s trident-node-linux-xrst8 2/2 Running 0 1m41s trident-operator-5574dbbc68-nthjv 1/1 Running 0 1m52s #Confirm Trident has been updated to the desired version kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v23.01.1
La trident-controller
y los nombres de pod reflejan la convención de nomenclatura introducida en 23.01.
Actualice la instalación de un operador basado en Helm
Realice los pasos siguientes para actualizar la instalación de un operador basado en Helm.
Cuando actualice un clúster de Kubernetes de 1.24 a 1.25 o posterior que tenga instalado Astra Trident, debe actualizar Values.yaml para establecer excludePodSecurityPolicy para true o agregar --set excludePodSecurityPolicy=true para la helm upgrade comando antes de poder actualizar el clúster.
|
-
Descargue la última versión de Astra Trident.
-
Utilice la
helm upgrade
comando dondetrident-operator-23.01.1.tgz
refleja la versión a la que desea actualizar.helm upgrade <name> trident-operator-23.01.1.tgz
Si establece cualquier opción no predeterminada durante la instalación inicial (como especificar registros privados reflejados para imágenes Trident y CSI), utilice
--set
para asegurarse de que estas opciones están incluidas en el comando upgrade, de lo contrario, los valores se restablecerán a los valores predeterminados.Por ejemplo, para cambiar el valor predeterminado de
tridentDebug
, ejecute el siguiente comando:helm upgrade <name> trident-operator-23.01.1-custom.tgz --set tridentDebug=true
-
Ejecución
helm list
para comprobar que la versión de la gráfica y de la aplicación se han actualizado. Ejecucióntridentctl logs
para revisar cualquier mensaje de depuración.
El operador de Trident identifica una instalación existente de Astra Trident y la actualiza a la misma versión que el operador.
Actualizar desde una instalación que no sea del operador
Puede actualizarlo a la versión más reciente del operador de Trident desde un tridentctl
instalación.
-
Descargue la última versión de Astra Trident.
# Download the release required [23.01.1] mkdir 23.01.1 cd 23.01.1 wget https://github.com/NetApp/trident/releases/download/v22.01.1/trident-installer-23.01.1.tar.gz tar -xf trident-installer-23.01.1.tar.gz cd trident-installer
-
Cree el
tridentorchestrator
CRD del manifiesto.kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
Despliegue el operador.
#Install the cluster-scoped operator in the **same namespace** kubectl create -f deploy/<BUNDLE.YAML> serviceaccount/trident-operator created clusterrole.rbac.authorization.k8s.io/trident-operator created clusterrolebinding.rbac.authorization.k8s.io/trident-operator created deployment.apps/trident-operator created podsecuritypolicy.policy/tridentoperatorpods created #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-controller-79df798bdc-m79dc 6/6 Running 0 150d trident-node-linux-xrst8 2/2 Running 0 150d trident-operator-5574dbbc68-nthjv 1/1 Running 0 1m30s
-
Cree un
TridentOrchestrator
CR para instalar Astra Trident.#Create a tridentOrchestrator to initiate a Trident install cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident kubectl create -f deploy/crds/tridentorchestrator_cr.yaml #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-csi-79df798bdc-m79dc 6/6 Running 0 1m trident-csi-xrst8 2/2 Running 0 1m trident-operator-5574dbbc68-nthjv 1/1 Running 0 5m41s #Confirm Trident was upgraded to the desired version kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v23.01.1
Los back-ends y las CVP existentes están disponibles automáticamente.