Actualizar con el operador
Puede actualizar fácilmente una instalación existente de Astra Trident con el operador.
Para realizar la actualización mediante el operador, se deben cumplir las siguientes condiciones:
-
Debe tener una instalación de Astra Trident basada en CSI. Para comprobar si está ejecutando CSI Trident, examine los pods del espacio de nombres Trident. Si siguen la
trident-csi-*
Patrón de nombres, está ejecutando CSI Trident. -
Debe disponer de una instalación de Trident basada en CRD. Esto representa todas las versiones de la versión 19.07 y posteriores. Si tiene una instalación basada en CSI, lo más probable es que tenga una instalación basada en CRD.
-
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 que ejecute "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".
Al actualizar Trident, con el operador de OpenShift Container Platform, debe actualizar a Trident 21.01.1 o una versión posterior. El operador Trident publicado con 21.01.0 contiene un problema conocido que se ha solucionado en 21.01.1. Si quiere más detalles, consulte "Detalles del problema en GitHub". |
Actualice una instalación de operador de ámbito del clúster
Siga estos pasos para actualizar desde Trident 21.01 y posterior.
-
Elimine el operador Trident que se ha utilizado para instalar la instancia actual de Astra Trident. Por ejemplo, si va a actualizar desde 21.01, ejecute el siguiente comando:
kubectl delete -f 22.01/trident-installer/deploy/BUNDLE.YAML -n trident
-
Opcionalmente, puede editar la
TridentOrchestrator
Objeto creado al instalar Trident para modificar los parámetros de instalación. Esto incluye cambios como la modificación de la imagen personalizada de Trident, el registro de imágenes privadas para extraer imágenes de contenedores, la habilitación de los registros de depuración o la especificación de 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 de
https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML
dondevXX.XX
es el número de versión (por ejemplov22.10
) y.BUNDLE.YAML
Es el nombre del archivo YAML del grupo.-
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".
Por ejemplo, si está instalando Astra Trident 22.10 para Kubernetes 1.25, ejecute el siguiente comando:
kubectl create -f 22.10.0/trident-installer/deploy/bundle_post_1_25.yaml -n trident
Como parte de este paso, el operador de Trident identificará una instalación existente de Astra Trident y la actualizará con la misma versión que el operador.
-
Actualice la instalación de un operador de ámbito de espacio de nombres
Para actualizar desde una instancia de Astra Trident instalada mediante el operador Namespace-scoped (versiones 20.07 a 20.10), a continuación encontrará el conjunto de pasos que hay que seguir:
-
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 [22.10.0] mkdir 22.10.0 cd 22.10.0 wget https://github.com/NetApp/trident/releases/download/v22.10.0/trident-installer-22.10.0.tar.gz tar -xf trident-installer-22.10.0.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 (por ejemplov22.10
) 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> 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 de ámbito del clúster.
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 22.10.0.La actualización de Astra Trident mediante el uso del operador con ámbito del clúster da como resultado 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/22.10.0/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-csi-79df798bdc-m79dc 6/6 Running 0 1m41s trident-csi-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: v22.10.0
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.
-
Descargue la última versión de Astra Trident.
-
Utilice la
helm upgrade
comando. Consulte el siguiente ejemplo:helm upgrade <name> trident-operator-22.10.0.tgz
donde
trident-operator-22.10.0.tgz
refleja la versión a la que desea actualizar. -
Ejecución
helm list
para comprobar que la versión de la gráfica y de la aplicación se han actualizado.
Para pasar los datos de configuración durante la actualización, utilice --set .
|
Por ejemplo, para cambiar el valor predeterminado de tridentDebug
, ejecute el siguiente comando:
helm upgrade <name> trident-operator-22.10.0-custom.tgz --set tridentDebug=true
Si usted corre tridentctl logs
, puede ver los mensajes de depuración.
Si establece cualquier opción no predeterminada durante la instalación inicial, asegúrese de que las opciones se incluyen en el comando upgrade o, de lo contrario, los valores se restablecerán a sus valores predeterminados. |
Actualizar desde una instalación que no sea del operador
Si dispone de una instancia de CSI Trident que cumpla con los requisitos previos indicados anteriormente, puede actualizar a la versión más reciente del operador de Trident.
-
Descargue la última versión de Astra Trident.
# Download the release required [22.10.0] mkdir 22.10.0 cd 22.10.0 wget https://github.com/NetApp/trident/releases/download/v22.10.0/trident-installer-22.10.0.tar.gz tar -xf trident-installer-22.10.0.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-csi-79df798bdc-m79dc 6/6 Running 0 150d trident-csi-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 initate 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: v22.10.0
Los back-ends y las CVP existentes están disponibles automáticamente.