Iniciar sesión / Registrar Cuenta

CONTENEDORES

¿Qué es etcd?

El etcd (que se pronuncia e-te-ce-de) es un almacén de clave-valor open source, distribuido y uniforme que permite la configuración compartida, la detección de servicios y la coordinación del programador de clústeres o sistemas distribuidos de máquinas. Facilita la ejecución de actualizaciones automáticas de forma más segura, coordina el trabajo que se programa para los hosts e interviene en la configuración de las redes superpuestas para los contenedores.

Jump to section

El etcd es el elemento principal de muchos otros proyectos. En particular, es el almacén de datos más importante de Kubernetes, el sistema estándar para la organización de contenedores. Al usar etcd, las aplicaciones nativas de la nube pueden mantener un tiempo de actividad más uniforme sin dejar de funcionar, incluso si se producen fallas en los servidores individuales. Las aplicaciones leen los datos del etcd y los escriben en él, y este distribuye los datos de la configuración para brindar constancia y resistencia a la configuración de los nodos.

Kubernetes y etcd

Dado que etcd es el almacén de datos más importante de Kubernetes, almacena y replica todos los estados de los clústeres de Kubernetes. Se trata de un elemento fundamental de los clústeres de Kubernetes, por eso es importante que se pueda configurar y gestionar de manera confiable.

Debido a que el etcd es un sistema distribuido basado en el consenso, la configuración de clústeres de etcd puede ser compleja. Las tareas difíciles y tediosas de inicio, mantenimiento del quorum, reconfiguración de la membresía del clúster, creación de backups, gestión de la recuperación ante desastres y supervisión de los eventos importantes deben estar a cargo de especialistas.

Todas ellas se simplifican cuando se utiliza un Operador de etcd.

El Operador de etcd

El uso del Operador, el cual representa el conocimiento operativo de las personas, facilita la implementación de etcd en Kubernetes o en una plataforma de contenedores de Kubernetes, como Red Hat OpenShift. El Operador de etcd gestiona el etcd dentro del Marco del operador y permite simplificar la configuración y la gestión del clúster de etcd.

El Operador de etcd se instala con un solo comando y permite que los usuarios configuren y gestionen las complejidades de etcd a través de una configuración declarativa simple que crea, configura y gestiona los clústeres de etcd.

El Operador ofrece las siguientes funciones:

  • Crear/Destruir: en lugar de tener que especificar la configuración para cada miembro de etcd, los usuarios solo deben indicar el tamaño del clúster.

  • Modificar el tamaño: basta con que los usuarios modifiquen el tamaño en las especificaciones, y el Operador de etcd se encargará de implementar, destruir o volver a configurar los miembros del clúster.

  • Backup: el Operador de etcd hace el backup de forma automática y transparente. Los usuarios solo deben indicar la política de backup. Por ejemplo: Hacer backups cada 30 minutos y conservar los últimos tres.

  • Actualización: es fundamental actualizar el etcd sin downtime, pero no es sencillo. Sin embargo, el Operador de etcd no solo simplifica las operaciones, sino que también evita los errores frecuentes de actualización.

Cómo funciona

El Operador de etcd simula el comportamiento de los operadores humanos en tres pasos: la observación, el análisis y la acción.

  1. Primero, observa el estado actual del clúster con la API de Kubernetes.

  2. Luego, identifica las diferencias entre el estado esperado y el estado actual.

  3. Por último, corrige las diferencias con una de las API de gestión del clúster de etcd, o ambas, o por medio de la API de Kubernetes.

¿Cuál es el aporte de Red Hat?

Desde que el equipo de CoreOS creó etcd en 2013, los ingenieros de Red Hat, junto a un equipo de colegas del sector, se encargan de su mantenimiento. 

En 2018, el equipo de CoreOS y Red Hat le entregaron el proyecto comunitario de etcd a la fundación Cloud Native Computing Foundation (CNCF), una organización que no depende de ningún proveedor y forma parte de The Linux Foundation para fomentar la adopción de sistemas nativos de la nube. Dado que todos los clústeres de Kubernetes utilizan etcd, esta medida acerca el etcd a la comunidad que más lo usa en la CNCF.

Red Hat planea seguir participando en el desarrollo de etcd, en especial como parte de nuestro producto de Kubernetes empresarial, Red Hat OpenShift. Red Hat también fue una de las primeras empresas que colaboró con el lanzamiento de la CNCF en 2015 y, desde entonces, trabaja junto a la fundación y la comunidad en el desarrollo y la evolución de las tecnologías nativas de la nube. Con nuestra experiencia y dedicación al software open source y el desarrollo impulsado por la comunidad, dentro de CNCF, etcd puede beneficiar aún más a todos.