Hinweis : Der main
befindet sich während der Entwicklung möglicherweise in einem instabilen oder sogar defekten Zustand . Für stabile Versionen siehe Releases.
etcd ist ein verteilter, zuverlässiger Schlüsselwertspeicher für die kritischsten Daten eines verteilten Systems mit folgendem Schwerpunkt:
Einfach : klar definierte, benutzerorientierte API (gRPC)
Sicher : automatisches TLS mit optionaler Client-Zertifikatauthentifizierung
Schnell : im Benchmark 10.000 Schreibvorgänge/Sek
Zuverlässig : ordnungsgemäß mit Raft verteilt
etcd ist in Go geschrieben und verwendet den Raft-Konsensalgorithmus, um ein hochverfügbares repliziertes Protokoll zu verwalten.
etcd wird von vielen Unternehmen in der Produktion eingesetzt und das Entwicklungsteam steht hinter ihm in kritischen Bereitstellungsszenarien, in denen etcd häufig mit Anwendungen wie Kubernetes, Locksmith, Vulcand, Doorman und vielen anderen zusammenarbeitet. Die Zuverlässigkeit wird außerdem durch strenge Robustheitstests gewährleistet.
Siehe etcdctl für einen einfachen Befehlszeilen-Client.
Originalbild: xkcd.com/2347, Änderungen von Josh Berkus.
Betreuer streben danach, eine integrative Open-Source-Projektkultur zu schaffen, in der Benutzer gehört werden und sich Mitwirkende respektiert und gestärkt fühlen. Ziel der Maintainer ist es, produktive Beziehungen zwischen verschiedenen Unternehmen und Disziplinen aufzubauen. Erfahren Sie mehr über die Rolle und Verantwortlichkeiten von Betreuern.
Der einfachste Weg, etcd zu erhalten, besteht darin, eine der vorgefertigten Release-Binärdateien zu verwenden, die auf der Release-Seite für OSX, Linux, Windows und Docker verfügbar sind.
Weitere Installationsanleitungen finden Sie unter play.etcd.io und in der Bedienung von etcd.
Starten Sie zunächst einen Single-Member-Cluster von etcd.
Wenn etcd mit den vorgefertigten Release-Binärdateien installiert wird, führen Sie es wie folgt vom Installationsort aus aus:
/tmp/etcd-download-test/etcd
Der Befehl etcd kann einfach als solcher ausgeführt werden, wenn er wie folgt in den Systempfad verschoben wird:
mv /tmp/etcd-download-test/etcd /usr/local/bin/ usw
Dadurch wird etcd aufgerufen, das Port 2379 für die Client-Kommunikation und Port 2380 für die Server-zu-Server-Kommunikation überwacht.
Als nächstes legen wir einen einzelnen Schlüssel fest und rufen ihn dann ab:
etcdctl set mykey „das ist großartig“etcdctl get mykey
etcd läuft jetzt und bedient Clientanfragen. Weitere Informationen finden Sie unter:
Interaktiver etcd-Spielplatz
Animierte Kurzdemo
Die offiziellen etcd-Ports sind 2379 für Client-Anfragen und 2380 für Peer-Kommunikation.
Installieren Sie zunächst Goreman, das Procfile-basierte Anwendungen verwaltet.
Unser Procfile-Skript richtet einen lokalen Beispielcluster ein. Beginnen Sie mit:
Goreman-Start
Dadurch werden die drei etcd-Mitglieder infra1
, infra2
und infra3
und optional etcd grpc-proxy
angezeigt, die lokal ausgeführt werden und einen Cluster bilden.
Jedes Clustermitglied und jeder Proxy akzeptiert das Lesen und Schreiben von Schlüsselwerten.
Befolgen Sie die Kommentare im Procfile-Skript, um dem Cluster einen Lernknoten hinzuzufügen.
Holen Sie sich go.etcd.io/etcd/client/v3
Jetzt ist es an der Zeit, sich mit der vollständigen etcd-API und anderen Anleitungen vertraut zu machen.
Lesen Sie die vollständige Dokumentation.
Sehen Sie sich die häufig gestellten Fragen zu etcd an.
Entdecken Sie die vollständige gRPC-API.
Richten Sie einen Cluster mit mehreren Maschinen ein.
Lernen Sie das Konfigurationsformat, die Umgebungsvariablen und Flags kennen.
Finden Sie Sprachbindungen und Tools.
Verwenden Sie TLS, um einen etcd-Cluster zu sichern.
Tune usw.
E-Mail: etcd-dev
Slack: #sig-etcd-Kanal auf Kubernetes (einladen)
Gemeindetreffen
etcd-Mitwirkende und -Betreuer treffen sich jede Woche donnerstags um 11:00
Uhr (USA, Pazifik) und die Treffen wechseln sich zwischen Community-Treffen und Issue-Triage-Meetings ab. Besprechungsagenden werden in einem gemeinsamen Google-Dokument aufgezeichnet und jeder kann gerne zusätzliche Themen oder andere Tagesordnungen vorschlagen.
Ziel der Issue-Triage-Meetings ist es, unseren Rückstand an PRs und Issues zu bewältigen. Triage-Meetings stehen allen Mitwirkenden offen; Sie müssen kein Prüfer oder Genehmiger sein, um zu helfen! Sie können auch eine gute Möglichkeit sein, einen Beitrag zu leisten.
Die Rolle des Meeting-Leiters wechselt bei jedem Meeting zwischen etcd-Betreuern oder sig-etcd-Leads und wird in einem gemeinsamen Google-Blatt aufgezeichnet.
Besprechungsaufzeichnungen werden auf den offiziellen YouTube-Kanal von etcd hochgeladen.
Erhalten Sie Kalendereinladungen, indem Sie der Mailinggruppe etcd-dev beitreten.
Treten Sie dem CNCF-finanzierten Zoom-Kanal bei: zoom.us/my/cncfetcdproject
Weitere Informationen zum Einrichten Ihrer Entwicklungsumgebung, zum Einreichen von Patches und zum Beitragsworkflow finden Sie unter BEITRAGEN.
Informationen zur Mitgliedschaft im etcd-Projekt finden Sie unter community-membership.md. Wir begrüßen und freuen uns auf Ihre Beiträge zum Projekt!
Weitere Informationen zu den Prioritäten für die nächsten Haupt- oder Nebenversionen finden Sie auch in der Roadmap.
Einzelheiten zum Melden von Problemen finden Sie unter „Fehler melden“. Bevor Sie ein Problem eröffnen, überprüfen Sie bitte, ob es nicht in unseren häufig gestellten Fragen behandelt wird.
Weitere Informationen dazu, wie Sie eine Sicherheitslücke melden und wie das etcd-Team damit umgeht, finden Sie unter Sicherheitsoffenlegung und Freigabeprozess.
Einzelheiten zur Problemverwaltung finden Sie in den Richtlinien zur Problemtriage.
Richtlinien zur Verwaltung von Pull-Anfragen finden Sie unter PR-Management.
Diese emeritierten Betreuer widmeten einen Teil ihrer Karriere dem etcd und überprüften den Code, untersuchten Fehler und trieben das Projekt über einen beträchtlichen Zeitraum voran. Ihr Beitrag wird sehr geschätzt.
Fanmin Shi
Anthony Romano
Brandon Philips
Joe Betz
Gyuho Lee
Jingyi Hu
Xiang Li
Ben Darnell
Sam Batschelet
Piotr Tabor
Hitoshi Mitake
etcd steht unter der Apache 2.0-Lizenz. Einzelheiten finden Sie in der LICENSE-Datei.