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.

Haciendo una copia de seguridad de un clúster

En la interfaz de usuario de Rancher, la copia de seguridad y recuperación de etcd para clústeres de Kubernetes lanzados por Rancher se puede realizar fácilmente.

Rancher recomienda configurar etcd instantáneas recurrentes para todos los clústeres de producción. Además, también se pueden tomar instantáneas únicas.

Las instantáneas de la base de datos etcd se toman y se guardan ya sea localmente en los nodos etcd o en un destino compatible con S3. Las ventajas de configurar S3 son que si se pierden todos los nodos etcd, tu instantánea se guarda de forma remota y se puede utilizar para restaurar el clúster.

Cómo funcionan las instantáneas

Componentes de la instantánea

  • RKE

  • RKE2/K3s

Cuando Rancher crea una instantánea, incluye tres componentes:

  • Los datos del clúster en etcd

  • La versión de Kubernetes

  • La configuración del clúster en forma de cluster.yml

Debido a que la versión de Kubernetes ahora se incluye en la instantánea, es posible restaurar un clúster a una versión anterior de Kubernetes.

Rancher delega la creación de instantáneas al motor de Kubernetes en sentido descendente. Cuando el motor de Kubernetes crea una instantánea, incluye tres componentes:

  • Los datos del clúster en etcd

  • La versión de Kubernetes

  • La configuración del clúster

Debido a que la versión de Kubernetes está incluida en la instantánea, es posible restaurar un clúster a una versión anterior de Kubernetes mientras se restaura también una instantánea de etcd.

Los múltiples componentes de la instantánea te permiten seleccionar entre las siguientes opciones si necesitas restaurar un clúster desde una instantánea:

  • Restaurar solo el contenido de etcd: Esta restauración es similar a restaurar a instantáneas en Rancher antes de la v2.4.0.

  • Restaurar etcd y la versión de Kubernetes: Esta opción debe utilizarse si una actualización de Kubernetes es la razón por la que tu clúster está fallando, y no has realizado ningún cambio en la configuración del clúster.

  • Restaurar etcd, versiones de Kubernetes y configuración del clúster: Esta opción debe utilizarse si cambiaste tanto la versión de Kubernetes como la configuración del clúster al actualizar.

Siempre se recomienda tomar una nueva instantánea antes de realizar cualquier cambio de configuración o actualizaciones.

Generando la instantánea desde los nodos de etcd

  • RKE

  • RKE2/K3s

Para cada nodo de etcd en el clúster, se verifica la salud del clúster de etcd. Si el nodo informa que el clúster de etcd está sano, se crea una instantánea a partir de él y opcionalmente se sube a S3.

La instantánea se almacena en /opt/rke/etcd-snapshots. Si el directorio está configurado en los nodos como un montaje compartido, será sobrescrito. En S3, la instantánea siempre será del último nodo que la suba, ya que todos los nodos de etcd la suben y el último permanecerá.

En el caso de que existan múltiples nodos de etcd, cualquier instantánea creada se genera después de que se ha verificado la salud del clúster, por lo que se puede considerar una instantánea válida de los datos en el clúster de etcd.

Las instantáneas están habilitadas por defecto.

El directorio de instantáneas por defecto es /var/lib/rancher/<RUNTIME>/server/db/snapshots, donde <RUNTIME> es rke2 o k3s.

En RKE2, las instantáneas se almacenan en cada nodo de etcd. Si tienes múltiples nodos etcd o etcd + control-plane, tendrás múltiples copias de instantáneas locales de etcd.

Convenciones de Nomenclatura de Instantáneas

  • RKE

  • RKE2/K3s

El nombre de la instantánea se genera automáticamente. La opción --name se puede utilizar para sobrescribir el nombre de la instantánea al crear instantáneas únicas con la CLI de RKE.

Cuando Rancher crea una instantánea de un clúster RKE, el nombre de la instantánea se basa en el tipo (si la instantánea es manual o recurrente) y el destino (si la instantánea se guarda localmente o se sube a S3). La convención de nomenclatura es la siguiente:

  • m representa manual

  • r representa recurrente

  • l representa local

  • s representa S3

Algunos ejemplos de nombres de instantáneas son:

  • c-9dmxz-rl-8b2cx

  • c-9dmxz-ml-kr56m

  • c-9dmxz-ms-t6bjb

  • c-9dmxz-rs-8gxc8

El nombre de la instantánea se genera automáticamente. La opción --name se puede utilizar para sobrescribir el nombre base de la instantánea al crear instantáneas únicas con la CLI de RKE2 o K3s.

Cuando Rancher crea una instantánea de un clúster RKE2 o K3s, el nombre de la instantánea se basa en el tipo (si la instantánea es manual o recurrente) y el destino (si la instantánea se guarda localmente o se sube a S3). La convención de nomenclatura es la siguiente:

<name>-<node>-<timestamp>

<name>: es el nombre base establecido por --name y puede ser uno de los siguientes

  • etcd-snapshot se antepone a las instantáneas recurrentes

  • on-demand se antepone a las instantáneas manuales, bajo demanda

<node>: El nodo es el nombre del nodo en el que se tomó la instantánea.

<timestamp> es una marca de tiempo unix de la fecha de creación de la instantánea.

Algunos ejemplos de nombres de instantáneas son:

  • on-demand-my-super-rancher-k8s-node1-1652288934

  • on-demand-my-super-rancher-k8s-node2-1652288936

  • etcd-snapshot-my-super-rancher-k8s-node1-1652289945

  • etcd-snapshot-my-super-rancher-k8s-node2-1652289948

Cómo funciona la restauración desde una instantánea

  • RKE

  • RKE2/K3s

Al restaurar, se utiliza el siguiente proceso:

  1. La instantánea se recupera de S3, si S3 está configurado.

  2. La instantánea se descomprime (si está comprimida).

  3. Uno de los nodos etcd en el clúster sirve ese archivo de instantánea a los otros nodos.

  4. Los otros nodos etcd descargan la instantánea y validan la suma de comprobación para que todos utilicen la misma instantánea para la restauración.

  5. El clúster se restaura y se realizarán acciones posteriores a la restauración en el clúster.

Al restaurar, Rancher entrega varios conjuntos de planes para llevar a cabo una restauración. Se utilizan un conjunto de fases, a saber:

  • Iniciado

  • Apagar

  • Restaurar

  • ReiniciarClúster

  • Terminado

Si la restauración del instantáneo etcd falla, la fase se establecerá en Failed.

  1. Se recibe la solicitud de restauración del instantáneo etcd, y dependiendo de restoreRKEConfig, se reconcilian la configuración del clúster y la versión de Kubernetes.

  2. La fase se establece en Started.

  3. La fase se establece en Shutdown, y todo el clúster se apaga utilizando planes que ejecutan el guion de distribución killall.sh. Se elige un nuevo nodo inicial. Si el instantáneo que se está restaurando es un instantáneo local, se seleccionará el nodo en el que reside el instantáneo como el nodo inicial. Si el instantáneo se está restaurando desde S3, se utilizará el nodo inicial existente.

  4. La fase se establece en Restore, y el nodo inicial tiene el instantáneo restaurado en él.

  5. La fase se establece en RestartCluster, y el clúster se reinicia/se vuelve a unir al nuevo nodo inicial que tiene la información del instantáneo restaurado recientemente.

  6. La fase se establece en Finished, y se considera que el clúster se ha restaurado con éxito. El cattle-cluster-agent se volverá a conectar, y el clúster terminará la reconciliación.

Configurando instantáneas recurrentes

  • RKE

  • RKE2/K3s

Selecciona con qué frecuencia deseas que se tomen las instantáneas recurrentes, así como cuántas instantáneas conservar. La cantidad de tiempo se mide en horas. Con instantáneas con marca de tiempo, el usuario tiene la capacidad de realizar una recuperación en un punto en el tiempo.

Por defecto, los clústeres de Kubernetes lanzados por Rancher están configurados para tomar instantáneas recurrentes (guardadas en el disco local). Para protegerse contra fallos del disco local, se aconseja utilizar el S3 Target o replicar la ruta en el disco.

Durante la provisión del clúster o al editar el clúster, la configuración para las instantáneas se puede encontrar en la sección avanzada de Opciones del Clúster. Haz clic en Mostrar opciones avanzadas.

En la sección Opciones Avanzadas del Clúster, hay varias opciones disponibles para configurar:

Opción Descripción Valor por defecto

Destino de Copia de Seguridad de Instantáneas etcd

Selecciona dónde deseas que se guarden las instantáneas. Las opciones son locales o en S3

local

Instantánea etcd recurrente habilitada

Habilitar/Deshabilitar instantáneas recurrentes

Período de Creación de Instantáneas etcd Recurrentes

Tiempo en horas entre instantáneas recurrentes

12 horas

Conteo de Retención de Instantáneas etcd Recurrentes

Número de instantáneas a retener

6

Establece el horario para cómo deseas que se tomen las instantáneas recurrentes, así como cuántas instantáneas conservar. La programación está en formato Cron (daemon) convencional. La directiva de retención dicta el número de instantáneas que coinciden con un nombre que se deben mantener por nodo.

Por defecto, los clústeres de Kubernetes lanzados por Rancher están configurados para tomar instantáneas recurrentes (guardadas en el disco local) cada 5 horas comenzando a las 12 AM. Para protegerse contra fallo del disco local, se aconseja utilizar el S3 Target o replicar la vía en el disco.

Durante la provisión del clúster o al editar el clúster, la configuración para las instantáneas se puede encontrar en Configuración del Clúster. Haz clic en etcd.

Opción Descripción Valor por defecto

Instantánea etcd recurrente habilitada

Habilitar/Deshabilitar instantáneas recurrentes

Período de Creación de Instantáneas etcd Recurrentes

Horario Cron para instantáneas recurrentes

0 */5 * * *

Conteo de Retención de Instantáneas etcd Recurrentes

Número de instantáneas a retener

5

Instantáneas de una sola vez

  • RKE

  • RKE2/K3s

Además de las instantáneas recurrentes, puede que desees tomar una instantánea "de una sola vez". Por ejemplo, antes de actualizar la versión de Kubernetes de un clúster, es mejor hacer una copia de seguridad del estado del clúster para protegerse contra fallo de actualización.

  1. En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.

  2. En la página Clústeres, navega al clúster donde deseas tomar una instantánea de una sola vez.

  3. Haz clic en ⋮ > Tomar Instantánea.

Además de las instantáneas recurrentes, puede que desees tomar una instantánea "de una sola vez". Por ejemplo, antes de actualizar la versión de Kubernetes de un clúster, es mejor hacer una copia de seguridad del estado del clúster para protegerse contra fallo de actualización.

  1. En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.

  2. En la página Clústeres, navega al clúster donde deseas tomar una instantánea de una sola vez.

  3. Navega a la pestaña Snapshots y haz clic en Snapshot Now

Cómo Funciona la Toma de Instantáneas de Una Sola Vez

Al crear una instantánea de una sola vez, Rancher ofrece varios planes para realizar la creación de la instantánea. Se utilizan un conjunto de fases, a saber:

  • Iniciado

  • ReiniciarClúster

  • Terminado

Si la creación de la instantánea etcd falla, la fase se establecerá en Failed.

  1. La solicitud de creación de la instantánea etcd ha sido recibida.

  2. La fase se establece en Started. Todos los nodos etcd en el clúster reciben un plan para crear una instantánea etcd, según la configuración del clúster.

  3. La fase se establece en RestartCluster, y los planes en cada nodo etcd se restablecen al plan original para los nodos etcd.

  4. La fase se establece en Finished.

Resultado: Basado en tu objetivo de copia de seguridad de instantáneas, se tomará una instantánea de una sola vez y se guardará en el objetivo de copia de seguridad seleccionado.

Objetivos de copia de seguridad de instantáneas

Rancher admite dos objetivos de copia de seguridad diferentes:

Objetivo de copia de seguridad local

  • RKE

  • RKE2/K3s

Por defecto, se selecciona el objetivo de copia de seguridad local. Los beneficios de esta opción son que no hay configuración externa. Las instantáneas se guardan automáticamente de forma local en los nodos etcd en los clusters de Kubernetes lanzados por Rancher en /opt/rke/etcd-snapshots. Todas las instantáneas recurrentes se toman a intervalos configurados. La desventaja de usar el objetivo de copia de seguridad local es que si hay un desastre total y se pierden todos los nodos etcd, no hay posibilidad de restaurar el clúster.

Por defecto, se selecciona el objetivo de copia de seguridad local. Los beneficios de esta opción son que no hay configuración externa. Las instantáneas se guardan automáticamente de forma local en los nodos etcd en los clusters de Kubernetes lanzados por Rancher en /var/lib/rancher/<runtime>/server/db/snapshots donde <runtime> es k3s o rke2. Todas las instantáneas recurrentes se toman según el horario Cron. La desventaja de usar el objetivo de copia de seguridad local es que si hay un desastre total y se pierden todos los nodos etcd, no hay posibilidad de restaurar el clúster.

Objetivo de copia de seguridad S3

Recomendamos que utilices el objetivo de copia de seguridad S3. Te permite almacenar instantáneas externamente, en un sistema secundario compatible con S3. Dado que las instantáneas no se almacenan localmente, aún puedes restaurar el clúster incluso si pierdes todos los nodos etcd.

Aunque el objetivo S3 ofrece ventajas sobre la copia de seguridad local, requiere configuración adicional.

Si utilizas un objetivo de copia de seguridad S3, asegúrate de que cada clúster tenga su propio bucket o carpeta. Rancher completa la información de las instantáneas a partir de cualquier instantánea disponible listada en el bucket o carpeta S3 configurada para ese clúster.

Opción Descripción required

Nombre del bucket de S3

Nombre del bucket de S3 para almacenar copias de seguridad

*

Región de S3

Región de S3 para el bucket de copias de seguridad

Endpoint de Región de S3

Endpoint de regiones de S3 para el bucket de copias de seguridad

*

Clave de acceso de S3

Clave de acceso de S3 con permiso para acceder al bucket de copias de seguridad

*

Clave secreta de S3

Clave secreta de S3 con permiso para acceder al bucket de copias de seguridad

*

Certificado CA Personalizado

Un certificado personalizado utilizado para acceder a backends privados de S3

Uso de un certificado CA personalizado para S3

La instantánea de copia de seguridad se puede almacenar en un S3 de copia de seguridad personalizado como minio. Si el sistema secundario de S3 utiliza un certificado autofirmado o personalizado, proporciona un certificado personalizado utilizando la opción Custom CA Certificate para conectarte al sistema secundario de S3.

Soporte de IAM para almacenar instantáneas en S3

El objetivo de copia de seguridad S3 admite el uso de autenticación IAM para la API de AWS además de utilizar credenciales de API. Un rol de IAM otorga permisos temporales que una aplicación puede utilizar al realizar llamadas a la API de almacenamiento S3. Para utilizar la autenticación IAM, deben cumplirse los siguientes requisitos:

  • Los nodos etcd del clúster deben tener un rol de instancia que tenga acceso de lectura-escritura al bucket de copias de seguridad designado.

  • Los nodos del clúster etcd deben tener acceso a la red al punto final S3 especificado.

  • El nodo(s) trabajador del servidor Rancher debe(n) tener un rol de instancia que tenga permisos de lectura-escritura en el bucket de copias de seguridad designado.

  • El nodo(s) trabajador del servidor Rancher debe(n) tener acceso a la red al punto final S3 especificado.

Para dar acceso a una aplicación a S3, consulta la documentación de AWS sobre Uso de un rol IAM para otorgar permisos a aplicaciones que se ejecutan en instancias de Amazon EC2.

Visualizando instantáneas disponibles

La lista de todas las instantáneas disponibles para el clúster está disponible en la interfaz de usuario de Rancher.

  1. En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.

  2. En la página de Clústeres, ve al clúster donde deseas ver las instantáneas y haz clic en su nombre.

  3. Haz clic en la pestaña Instantáneas para ver la lista de instantáneas guardadas. Estas instantáneas incluyen una marca de tiempo de cuándo fueron creadas.

Marcas de tiempo seguras (RKE)

Los archivos de instantáneas están marcados con una fecha y hora para simplificar el procesamiento de los archivos utilizando herramientas y scripts externos, pero en algunos backends compatibles con S3, estas marcas de tiempo eran inutilizables.

La opción safe_timestamp se añade para soportar nombres de archivos compatibles. Cuando esta bandera se establece en true, todos los caracteres especiales en la marca de tiempo del nombre de archivo de la instantánea son reemplazados.

Esta opción no está disponible directamente en la interfaz de usuario, y solo está disponible a través de la interfaz Edit as Yaml.