注: main
ブランチは、開発中に不安定な状態になったり、壊れた状態になったりする可能性があります。安定したバージョンについては、リリースを参照してください。
etcd は、分散システムの最も重要なデータを格納する、信頼性の高い分散キーバリュー ストアであり、次の点に重点を置いています。
シンプル: 明確に定義されたユーザー向け API (gRPC)
セキュア: オプションのクライアント証明書認証を備えた自動 TLS
高速: ベンチマークで 10,000 書き込み/秒
信頼性: Raft を使用して適切に配布
etcd は Go で書かれており、Raft コンセンサス アルゴリズムを使用して高可用性の複製されたログを管理します。
etcd は多くの企業で運用環境で使用されており、開発チームは重要な展開シナリオで etcd を支援しており、etcd は Kubernetes、locksmith、vulcand、Doorman などのアプリケーションと頻繁にチーム化されています。信頼性は、厳格な堅牢性テストによってさらに保証されます。
単純なコマンドラインクライアントについては etcdctl を参照してください。
元の画像は xkcd.com/2347 にクレジットされ、Josh Berkus によって変更されました。
メンテナは、ユーザーの声を聞き、貢献者が尊重され、権限を与えられていると感じる、包括的なオープンソース プロジェクト文化を形成するよう努めています。メンテナーは、さまざまな企業や分野にわたって生産的な関係を構築することを目指しています。メンテナの役割と責任について詳しくは、こちらをご覧ください。
etcd を入手する最も簡単な方法は、リリース ページで OSX、Linux、Windows、および Docker 用に入手可能な、事前に構築されたリリース バイナリの 1 つを使用することです。
インストールガイドの詳細については、play.etcd.io と etcd の操作を確認してください。
まず、etcd の単一メンバークラスターを開始します。
etcd が事前に構築されたリリースバイナリを使用してインストールされている場合は、以下のようにインストール場所から実行します。
/tmp/etcd-ダウンロード-テスト/etcd
etcd コマンドは、以下のようにシステム パスに移動すると、そのまま実行できます。
mv /tmp/etcd-download-test/etcd /usr/local/bin/ etcd
これにより、etcd がクライアント通信用にポート 2379 で待機し、サーバー間通信用にポート 2380 で待機するようになります。
次に、単一のキーを設定して取得しましょう。
etcdctl put mykey "これは素晴らしい" etcdctl get mykey
etcd は現在実行中であり、クライアントのリクエストに対応しています。詳細については、以下をご覧ください。
インタラクティブな etcd プレイグラウンド
アニメーションのクイックデモ
公式の etcd ポートは、クライアント要求用は 2379、ピア通信用は 2380 です。
まず、Procfile ベースのアプリケーションを管理する goreman をインストールします。
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
開発環境のセットアップ、パッチの送信、およびコントリビューション ワークフローの詳細については、「コントリビュート」を参照してください。
etcd プロジェクトのメンバーになる方法については、community-membership.md を参照してください。 プロジェクトへの皆様の貢献を歓迎し、楽しみにしています。
今後のいくつかのメジャー リリースまたはマイナー リリースの優先順位の詳細については、ロードマップも参照してください。
問題の報告の詳細については、「バグの報告」を参照してください。問題を開く前に、よくある質問に記載されていないことを確認してください。
セキュリティの脆弱性を報告する方法と etcd チームがそれを管理する方法の詳細については、「セキュリティの開示とリリースのプロセス」を参照してください。
問題の管理方法の詳細については、問題の優先順位付けガイドラインを参照してください。
プル リクエストの管理方法に関するガイドラインについては、「PR 管理」を参照してください。
これらの名誉メンテナーはキャリアの一部を etcd に捧げ、コードをレビューし、バグを優先順位付けして、かなりの期間にわたってプロジェクトを推進しました。彼らの貢献に深く感謝します。
ファンミン・シ
アンソニー・ロマーノ
ブランドン・フィリップス
ジョー・ベッツ
イ・ギュホ
胡静儀
シャン・リー
ベン・ダーネル
サム・バトシュレット
ピョートル・タボル
三竹仁
etcd は Apache 2.0 ライセンスの下にあります。詳細については、LICENSE ファイルを参照してください。