|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
Migrando SUSE Rancher Prime a un nuevo clúster
Si estás migrando Rancher a un nuevo clúster de Kubernetes, no necesitas instalar Rancher en el nuevo clúster primero. Si Rancher se restaura en un nuevo clúster con Rancher ya instalado, puede causar problemas.
Requisitos previos
Estas instrucciones asumen que has creado una copia de seguridad y ya has instalado un nuevo clúster de Kubernetes donde se desplegará Rancher. La copia de seguridad es específica para la aplicación Rancher y solo puede migrar la aplicación Rancher.
|
Debes usar el mismo nombre de host que se estableció como la URL del servidor en el clúster original. Si no lo haces, los clústeres downstream aparecerán como no disponibles en la página de gestión del clúster de la interfaz de usuario, y no podrás hacer clic dentro del clúster o en el botón Explorar del clúster. |
La versión de Rancher debe ser v2.5.0 o superior
Rancher se puede instalar en cualquier clúster de Kubernetes, incluidos clústeres de Kubernetes alojados como los clústeres de Amazon EKS. Para ayuda instalando Kubernetes, consulta la documentación de la distribución de Kubernetes. Se pueden usar distribuciones de Kubernetes creadas por Rancher, como, pero no limitadas a, RKE o K3s.
Dado que Rancher se puede instalar en cualquier clúster de Kubernetes, puedes usar este método de copia de seguridad y restauración para migrar Rancher de un clúster de Kubernetes a cualquier otro clúster de Kubernetes. Este método solo migra recursos relacionados con Rancher y no afectará a otras aplicaciones en el clúster. Consulta la matriz de soporte para identificar qué tipos y versiones de clústeres de Kubernetes son compatibles con tu versión de Rancher.
1. Instala el gráfico Helm rancher-backup
Instala el rancher-backup chart:
-
Añade el repositorio de Helm:
helm repo add rancher-charts https://charts.rancher.io helm repo update -
Establece una variable
CHART_VERSION, seleccionando una versión de chartrancher-backupcompatible con tu versión de Rancher. Consulta la matriz de soporte, dentro de la sección Rancher Apps / Herramientas de Clúster, para ver qué versiones derancher-backupson compatibles:CHART_VERSION=<chart-version> -
Instala los charts:
helm install rancher-backup-crd rancher-charts/rancher-backup-crd -n cattle-resources-system --create-namespace --version $CHART_VERSION helm install rancher-backup rancher-charts/rancher-backup -n cattle-resources-system --version $CHART_VERSIONLo anterior asume un entorno con conectividad saliente a Docker Hub.
Para un entorno aislado, utiliza los siguientes valores de Helm para extraer las imágenes
backup-restore-operatorykubectlde tu registro privado cuando instales el chart de rancher-backup.--set image.repository=<registry>/rancher/backup-restore-operator --set global.kubectl.repository=<registry>/rancher/kubectlSi el host que ejecuta los comandos de Helm está también aislado y no puede acceder a charts.rancher.io, descarga los charts en un host no aislado y luego instálalos desde archivos locales en el host aislado.
En un host no aislado:
helm repo add rancher-charts https://charts.rancher.io helm repo update helm fetch rancher-charts/rancher-backup-crd --version $CHART_VERSION helm fetch rancher-charts/rancher-backup --version $CHART_VERSIONCopia los archivos
rancher-backup-crd-<chart-version>.tgzyrancher-backup-<chart-version>.tgzal host aislado, luego utilízalos para instalar los charts:helm install rancher-backup-crd ./rancher-backup-crd-<chart-version>.tgz -n cattle-resources-system --create-namespace helm install rancher-backup ./rancher-backup-<chart-version>.tgz -n cattle-resources-system --set image.repository=<registry>/rancher/backup-restore-operator --set global.kubectl.repository=<registry>/rancher/kubectl
2. Restaura desde la copia de seguridad utilizando un recurso personalizado de restauración
-
Al utilizar almacenamiento de objetos S3 como fuente de copia de seguridad para una restauración que requiere credenciales, crea un objeto
Secreten este clúster para añadir las credenciales de S3. Los datos secretos deben tener dos claves:accessKeyysecretKey, que contienen las credenciales de S3.El secreto puede ser creado en cualquier espacio de nombres, este ejemplo utiliza el espacio de nombres por defecto.
kubectl create secret generic s3-creds \ --from-literal=accessKey=<access key> \ --from-literal=secretKey=<secret key>Añade tu clave de acceso y clave secreta como valores para
accessKeyysecretKeyen el comando anterior. -
Crea un objeto
Restore:Durante una migración,
prunedebe ser establecido enfalse. Consulta el ejemplo a continuación:# restore-migration.yaml apiVersion: resources.cattle.io/v1 kind: Restore metadata: name: restore-migration spec: backupFilename: backup-b0450532-cee1-4aa1-a881-f5f48a007b1c-2020-09-15T07-27-09Z.tar.gz // highlight-next-line prune: false // highlight-next-line encryptionConfigSecretName: encryptionconfig storageLocation: s3: credentialSecretName: s3-creds credentialSecretNamespace: default bucketName: backup-test folder: ecm1 region: us-west-2 endpoint: s3.us-west-2.amazonaws.comImportanteEl campo
encryptionConfigSecretNamedebe ser utilizado solo si tu copia de seguridad fue creada con la encriptación habilitada.Si esto aplica, proporciona el nombre del objeto
Secretque contiene el archivo de configuración de encriptación. Si solo tienes el archivo de configuración de encriptación, pero no tienes el secreto creado en este clúster, utiliza los siguientes pasos para crear el secreto:-
El comando a continuación utiliza un archivo llamado
encryption-provider-config.yaml, con la bandera--from-file. Ejecuta lo siguiente una vez que elEncryptionConfigurationesté guardado en un archivo llamadoencryption-provider-config.yaml:kubectl create secret generic encryptionconfig \ --from-file=./encryption-provider-config.yaml \ -n cattle-resources-system
-
Aplica el manifiesto y supervisa el estado de restauración:
-
Aplica el recurso objeto
Restore:kubectl apply -f restore-migration.yaml -
Supervisa el estado de restauración:
kubectl get restore -
Supervisa los registros de restauración:
kubectl logs -n cattle-resources-system --tail 100 -f -l app.kubernetes.io/instance=rancher-backup -
Una vez que el recurso de restauración tenga el estado
Completed, puedes continuar con la instalación de cert-manager y Rancher.Al migrar Rancher entre dos distribuciones de Kubernetes diferentes (por ejemplo, de K3s a RKE2), el objeto que representa el clúster local debe ser modificado para permitir que Rancher detecte la nueva distribución. Después de que la restauración se complete, y antes de iniciar Rancher en el nuevo clúster, edita el objeto del clúster local:
kubectl edit clusters.management.cattle.io local-
Cambia el valor de
status.driveraimported. -
Elimina
status.provider. -
Elimina todo el mapa
status.version. -
Elimina la etiqueta con la clave
provider.cattle.ioenmetadata.labels. -
Elimina la anotación con la clave
management.cattle.io/current-cluster-controllers-versionenmetadata.annotations. -
Elimina todo el mapa
spec.rke2Configospec.k3sConfig, si está presente. -
Guarde los cambios.
Ten en cuenta que eliminar
spec.rke2Configospec.k3sConfigborrará tu configuración de actualización específica de la distribución para el clúster local. Puede ser reconfigurado si la nueva distribución es configurable para el clúster local. -
-
3. Instala cert-manager
Sigue los pasos para instalar cert-manager en la documentación sobre la instalación de cert-manager en Kubernetes.
4. Inicia Rancher con Helm
Utiliza la misma versión de Helm para instalar Rancher, que se utilizó en el primer clúster.
helm install rancher rancher-prime/rancher \
--namespace cattle-system \
--set hostname=<same hostname as the server URL from the first Rancher server> \
--version x.y.z
|
Si el entorno original de Rancher está en funcionamiento, puedes recopilar los valores actuales con un kubeconfig para el entorno original:
Estos valores se pueden reutilizar utilizando el archivo
|
5. Redirigir el tráfico al nuevo clúster
Una vez que la migración se complete, actualiza tus registros DNS y cualquier balanceador de carga, para que el tráfico se dirija correctamente al clúster migrado. Recuerda que debes utilizar el mismo nombre de host que se estableció como la URL del servidor en el clúster original.
Las instrucciones completas sobre cómo redirigir el tráfico al clúster migrado varían según tu entorno específico. Consulta la documentación de tu proveedor de alojamiento para más detalles.
6. Reducir la escala de la instancia original de Rancher
Después de redirigir el tráfico al nuevo entorno de Rancher, reduce la escala de la instancia original de Rancher a 0 réplicas para que ya no contacte con tus clústeres downstream.
Dejar el antiguo servidor activo puede hacer que los agentes sigan contactando el original server-url, lo que a menudo deja los clústeres atascados en Actualizando en el nuevo entorno.
kubectl scale deployment rancher -n cattle-system --replicas=0
|
Si deseas mantener el entorno original de Rancher en funcionamiento, también puedes reiniciar los pods de
Esto desencadena un reinicio gradual del agente para que restablezca la conexión con el nuevo entorno de Rancher. |