注意: main
分支在開發過程中可能處於不穩定甚至損壞的狀態。穩定版本,請參閱發行版。
etcd 是一個分散式可靠的鍵值存儲,用於存儲分散式系統中最關鍵的數據,重點是:
簡單:定義明確、使用者導向的 API (gRPC)
安全性:自動 TLS 和可選的用戶端憑證驗證
快:基準測試速度為 10,000 次寫入/秒
可靠:使用 Raft 正確分佈
etcd 使用 Go 編寫,使用 Raft 共識演算法來管理高可用的複製日誌。
許多公司在生產中使用 etcd,在關鍵部署場景中,開發團隊為其提供支持,其中 etcd 經常與 Kubernetes、locksmith、vulcand、Doorman 等應用程式配合使用。嚴格的穩健性測試進一步確保了可靠性。
有關簡單的命令列客戶端,請參閱 etcdctl。
原始影像歸功於 xkcd.com/2347,由 Josh Berkus 修改。
維護者努力塑造一種包容性的開源專案文化,讓使用者的聲音被傾聽,貢獻者感到受到尊重和賦權。維護者的目標是在不同公司和學科之間建立富有成效的關係。閱讀有關維護者角色和職責的更多資訊。
取得 etcd 最簡單的方法是使用預先建置的發行二進位檔案之一,這些二進位檔案可在發行頁面上用於 OSX、Linux、Windows 和 Docker。
更多安裝指南,請查看 play.etcd.io 和操作 etcd。
首先啟動一個etcd的單成員叢集。
如果 etcd 是使用預先建置的發行二進位檔案安裝的,請從安裝位置執行它,如下所示:
/tmp/etcd-下載-測試/etcd
如果將 etcd 指令移到系統路徑,則可以簡單地運行,如下所示:
mv /tmp/etcd-download-test/etcd /usr/local/bin/ 等
這將啟動 etcd 偵聽連接埠 2379 以進行用戶端通信,並偵聽連接埠 2380 以進行伺服器到伺服器通訊。
接下來,讓我們設定一個鍵,然後檢索它:
etcdctl put mykey 「這太棒了」etcdctl get mykey
etcd 現在正在運行並服務客戶端請求。欲了解更多,請查看:
互動式 etcd 遊樂場
動畫快速演示
官方的 etcd 連接埠是 2379 用於客戶端請求,2380 用於對等通訊。
首先安裝 goreman,它管理基於 Procfile 的應用程式。
我們的 Procfile 腳本將設定一個本地範例叢集。開始:
戈爾曼開始
這將啟動 3 個 etcd 成員infra1
、 infra2
和infra3
以及可選的 etcd grpc-proxy
,它在本地運行並組成一個叢集。
每個群集成員和代理程式都接受鍵值讀取和鍵值寫入。
請依照 Procfile 腳本中的註解將學習者節點新增至叢集。
去取得 go.etcd.io/etcd/client/v3
現在是時候深入研究完整的 etcd API 和其他指南了。
閱讀完整文件。
查看 etcd 常見問題。
探索完整的 gRPC API。
設定多機集群。
了解配置格式、環境變數和標誌。
查找語言綁定和工具。
使用 TLS 來保護 etcd 叢集。
調整等。
電子郵件:etcd-dev
Slack:Kubernetes 上的 #sig-etcd 頻道(獲得邀請)
社區會議
etcd 貢獻者和維護者每週四上午11:00
(美國太平洋地區)舉行會議,會議在社區會議和問題分類會議之間輪流舉行。會議議程記錄在共享的 Google 文件中,歡迎每個人提出其他主題或其他議程。
問題分類會議旨在解決我們積壓的 PR 和問題。分類會議對任何貢獻者開放;您不必成為審閱者或批准者即可提供協助!它們也可以是開始貢獻的好方法。
每次會議的會議領導角色都會在 etcd 維護者或 sig-etcd 領導者之間輪換,並記錄在共享的 Google 表中。
會議錄音上傳至官方 etcd YouTube 頻道。
透過加入 etcd-dev 郵件群組來取得日曆邀請。
加入 CNCF 資助的 Zoom 頻道:zoom.us/my/cncfetcdproject
有關設定開發環境、提交修補程式和貢獻工作流程的詳細信息,請參閱貢獻。
請參閱community-membership.md 以了解有關成為etcd 專案成員的資訊。 我們歡迎並期待您為該專案做出貢獻!
另請參閱路線圖,以獲取有關接下來幾個主要或次要版本的優先順序的更多詳細資訊。
有關報告任何問題的詳細信息,請參閱報告錯誤。在提出問題之前,請檢查我們的常見問題中是否包含該問題。
有關如何報告安全漏洞以及 etcd 團隊如何管理該漏洞的詳細信息,請參閱安全揭露和發布流程。
有關如何管理問題的詳細信息,請參閱問題分類指南。
有關如何管理拉取要求的指南,請參閱 PR 管理。
這些退休維護人員將其職業生涯的一部分奉獻給了 etcd,並在相當長的時間內審查程式碼、分類錯誤並推動專案向前發展。我們非常感謝他們的貢獻。
施凡民
安東尼·羅馬諾
布蘭登·飛利浦
喬貝茨
李奎浩
胡靜怡
李翔
本·達內爾
薩姆·巴特切萊特
彼得·塔博爾
禦竹仁
etcd 遵循 Apache 2.0 許可證。有關詳細信息,請參閱許可證文件。