Remarque : La branche main
peut être dans un état instable voire cassé lors du développement. Pour les versions stables, voir les versions.
etcd est un magasin clé-valeur distribué fiable pour les données les plus critiques d'un système distribué, en mettant l'accent sur :
Simple : API bien définie et orientée utilisateur (gRPC)
Sécurisé : TLS automatique avec authentification par certificat client en option
Rapide : évalué à 10 000 écritures/sec
Fiable : correctement distribué à l'aide de Raft
etcd est écrit en Go et utilise l'algorithme de consensus Raft pour gérer un journal répliqué hautement disponible.
etcd est utilisé en production par de nombreuses entreprises, et l'équipe de développement le soutient dans des scénarios de déploiement critiques, où etcd est fréquemment associé à des applications telles que Kubernetes, locksmith, vulcand, Doorman et bien d'autres. La fiabilité est en outre assurée par des tests de robustesse rigoureux.
Voir etcdctl pour un client de ligne de commande simple.
Image originale créditée sur xkcd.com/2347, modifications par Josh Berkus.
Les responsables s'efforcent de façonner une culture de projet open source inclusive où les utilisateurs sont entendus et les contributeurs se sentent respectés et responsabilisés. Les responsables visent à établir des relations productives entre différentes entreprises et disciplines. En savoir plus sur le rôle et les responsabilités des responsables.
Le moyen le plus simple d'obtenir etcd consiste à utiliser l'un des fichiers binaires prédéfinis disponibles pour OSX, Linux, Windows et Docker sur la page de version.
Pour plus de guides d'installation, veuillez consulter play.etcd.io et Operating etcd.
Démarrez d’abord un cluster à membre unique d’etcd.
Si etcd est installé à l'aide des binaires de version prédéfinis, exécutez-le à partir de l'emplacement d'installation comme ci-dessous :
/tmp/etcd-download-test/etcd
La commande etcd peut être simplement exécutée telle quelle si elle est déplacée vers le chemin système comme ci-dessous :
mv /tmp/etcd-download-test/etcd /usr/local/bin/ etcd
Cela fera apparaître etcd en écoute sur le port 2379 pour la communication client et sur le port 2380 pour la communication serveur à serveur.
Ensuite, définissons une seule clé, puis récupérons-la :
etcdctl mets ma clé "c'est génial" etcdctl récupère ma clé
etcd est maintenant en cours d'exécution et répond aux demandes des clients. Pour en savoir plus, veuillez consulter :
Aire de jeux interactive etcd
Démo rapide animée
Les ports etcd officiels sont 2379 pour les demandes des clients et 2380 pour la communication entre pairs.
Installez d'abord goreman, qui gère les applications basées sur Procfile.
Notre script Procfile configurera un exemple de cluster local. Commencez-le avec :
goreman commence
Cela fera apparaître 3 membres etcd infra1
, infra2
et infra3
et éventuellement etcd grpc-proxy
, qui s'exécute localement et compose un cluster.
Chaque membre du cluster et proxy accepte les lectures de valeurs de clé et les écritures de valeurs de clé.
Suivez les commentaires dans le script Procfile pour ajouter un nœud apprenant au cluster.
allez chercher go.etcd.io/etcd/client/v3
Il est maintenant temps d'explorer l'API etcd complète et d'autres guides.
Lisez la documentation complète.
Consultez les questions fréquemment posées, etcd.
Explorez l'API gRPC complète.
Configurez un cluster multi-machines.
Apprenez le format de configuration, les variables d'environnement et les indicateurs.
Recherchez des liaisons et des outils linguistiques.
Utilisez TLS pour sécuriser un cluster etcd.
Réglez etcd.
E-mail : etcd-dev
Slack : chaîne #sig-etcd sur Kubernetes (recevoir une invitation)
Réunions communautaires
Les contributeurs et les responsables d'etcd se réunissent chaque semaine à 11:00
(USA Pacifique) le jeudi et les réunions alternent entre réunions communautaires et réunions de triage des problèmes. Les ordres du jour des réunions sont enregistrés dans un document Google partagé et chacun est invité à suggérer des sujets supplémentaires ou d'autres ordres du jour.
Les réunions de triage des problèmes visent à éliminer notre arriéré de PR et de problèmes. Les réunions de triage sont ouvertes à tout contributeur ; vous n'avez pas besoin d'être un réviseur ou un approbateur pour aider ! Ils peuvent également être un bon moyen de commencer à contribuer.
Le rôle de responsable de réunion est alterné pour chaque réunion entre les responsables d'etcd ou les responsables sig-etcd et est enregistré dans une feuille Google partagée.
Les enregistrements des réunions sont téléchargés sur la chaîne YouTube officielle d'etcd.
Recevez des invitations au calendrier en rejoignant le groupe de diffusion etcd-dev.
Rejoignez la chaîne Zoom financée par la CNCF : zoom.us/my/cncfetcdproject
Voir CONTRIBUTION pour plus de détails sur la configuration de votre environnement de développement, la soumission de correctifs et le flux de travail de contribution.
Veuillez vous référer à community-membership.md pour savoir comment devenir membre du projet etcd. Nous accueillons et attendons avec impatience vos contributions au projet !
Veuillez également vous référer à la feuille de route pour obtenir plus de détails sur les priorités des prochaines versions majeures ou mineures.
Voir rapport de bogues pour plus de détails sur la façon de signaler tout problème. Avant d'ouvrir un problème, veuillez vérifier qu'il n'est pas couvert dans notre foire aux questions.
Consultez le processus de divulgation et de publication de sécurité pour plus de détails sur la manière de signaler une vulnérabilité de sécurité et sur la manière dont l'équipe etcd la gère.
Consultez les directives de triage des problèmes pour plus de détails sur la manière dont les problèmes sont gérés.
Voir Gestion des relations publiques pour obtenir des directives sur la façon dont les demandes d'extraction sont gérées.
Ces mainteneurs émérites ont consacré une partie de leur carrière à etcd et ont révisé le code, trié les bogues et fait avancer le projet sur une période de temps substantielle. Leur contribution est grandement appréciée.
Fanmin Shi
Antoine Romano
Brandon Philips
Joe Betz
Gyuho Lee
JingyiHu
Xiang Li
Ben Darnell
Sam Batschelet
Piotr Thabor
Hitoshi Mitake
etcd est sous licence Apache 2.0. Voir le fichier LICENSE pour plus de détails.