Jump to section

Cos'è l'etcd?

Copia URL

Con etcd (pronuncia et-si-di) si intende un archivio open source, distribuito e coerente di coppie chiave-valore per la gestione di configurazioni condivise, rilevamento dei servizi e unità di pianificazione all'interno di sistemi distribuiti o cluster di sistemi. L'archivio etcd garantisce aggiornamenti automatici più sicuri, coordina le attività da eseguire sugli host e agevola la configurazione di reti overlay per i container.

etcd è un componente essenziale di molti altri progetti, e in particolare del datastore principale di Kubernetes, che costituisce lo standard di fatto per l'orchestrazione dei container. Grazie a etcd, le applicazioni cloud native possono garantire un uptime più costante e continuare a funzionare anche in caso di errore dei singoli server. Le applicazioni leggono e scrivono dati in etcd, il quale distribuisce i dati di configurazione garantendo ridondanza e resilienza per la configurazione dei nodi.

In qualità di datastore principale di Kubernetes, etcd memorizza e replica tutti gli stati dei cluster Kubernetes. Poiché etcd è un componente critico di un cluster Kubernetes, applicare un approccio affidabile alla sua configurazione e gestione è fondamentale.

Essendo etcd un sistema distribuito basato sul consenso, la sua configurazione cluster può risultare complessa poiché prevede attività laboriose che richiedono avanzate competenze specializzate in materia, tra cui: bootstrap, mantenimento del quorum, riconfigurazione dei membri del cluster, creazione dei backup, gestione del ripristino di emergenza e monitoraggio degli eventi critici.

Per semplificare tutte queste operazioni, è possibile utilizzare un operatore etcd.

L'utilizzo di un operatore, che rappresenta un insieme di competenze operative umane, semplifica l'uso di etcd con Kubernetes o con una piattaforma container Kubernetes, come Red Hat OpenShift. L' operatore etcd, che gestisce etcd all'interno di Operator Framework, consente di semplificare la configurazione cluster e la gestione di etcd.

L'operatore etcd si installa con un singolo comando e l'utente può configurarne e gestirne le complessità tramite una semplice configurazione dichiarativa che consente di creare, configurare e gestire i cluster etcd.

L'operatore etcd fornisce le seguenti funzionalità:

  • Creazione/distruzione - Anziché specificare tutte le impostazioni di configurazione per ogni singolo membro di etcd, gli utenti possono limitarsi a indicare le dimensioni del cluster.

  • Ridimensionamento - Gli utenti devono modificare solo le dimensioni nelle specifiche, dopodiché l'operatore etcd provvede ad adottare, distruggere e/o riconfigurare i membri del cluster.

  • Backup - L'operatore etcd esegue i backup in modo automatico e trasparente. Gli utenti devono semplicemente specificare i criteri di backup, ad esempio: Esegui il backup ogni 30 minuti e conserva gli ultimi 3 backup.

  • Upgrade - Eseguire l'upgrade di etcd senza causare downtime è fondamentale ma non semplice. L'operatore etcd consente di effettuare tali operazioni agevolmente, evitando gli errori di upgrade più comuni.

L'operatore etcd simula il comportamento di un operatore umano suddividendolo in 3 passaggi, ovvero monitoraggio, analisi e azione.

  1. L'operatore monitora lo stato attuale del cluster tramite l'API Kubernetes.

  2. Cerca quindi le differenze fra tale stato e quello desiderato.

  3. Infine, corregge le differenze utilizzando una o entrambe le API di gestione cluster di etcd oppure l'API Kubernetes.

L'archivio etcd è stato creato nel 2013 dal team CoreOS e successivamente è stato gestito dai tecnici di Red Hat, insieme a un team di esperti del settore. 

Nel 2018 Red Hat e il team CoreOS hanno affidato il progetto della community etcd alla Cloud Native Computing Foundation (CNCF), un'organizzazione indipendente dal fornitore, che opera all'interno di The Linux Foundation per promuovere l'adozione dei sistemi cloud native. Poiché etcd è fondamentale per tutti i cluster Kubernetes, con questa decisione tale archivio è stato affidato alla community che lo utilizza di più nell'ambito della CNCF.

Red Hat intende continuare a partecipare allo sviluppo di etcd, soprattutto come parte di Red Hat OpenShift, il suo prodotto Kubernetes di livello enterprise. Red Hat è stata anche una delle prime aziende a supportare il lancio della CNCF nel 2015 e da allora collabora con la fondazione e la community allo sviluppo e alla diffusione delle tecnologie cloud native. Grazie al costante impegno e ai progressi di Red Hat raggiunti nello sviluppo di software open source, etcd può sfruttare maggiormente tutti i vantaggi della community nell'ambito della CNCF.

Keep reading

Article

What's a Linux container?

A Linux container is a set of processes isolated from the system, running from a distinct image that provides all the files necessary to support the processes.

Article

Containers vs VMs

Linux containers and virtual machines (VMs) are packaged computing environments that combine various IT components and isolate them from the rest of the system.

Article

What is container orchestration?

Container orchestration automates the deployment, management, scaling, and networking of containers.

Scopri di più sui container

Prodotti

Una piattaforma container enterprise-ready basata su Kubernetes, che consente di automatizzare le operazioni nell'intero stack tecnologico per gestire deployment di cloud ibrido, multicloud e all'edge.

Risorse

Formazione

Corso di formazione gratuito

Running Containers with Red Hat Technical Overview

Corso di formazione gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Corso di formazione gratuito

Developing Cloud-Native Applications with Microservices Architectures

Illustration - mail

Ricevi contenuti simili

Iscriviti a Red Hat Shares, la nostra newsletter gratuita.