CoreOS 2013年OSS化した分散Key-Valueストア。Raft合意プロトコル+gRPC+Kubernetes基盤+CNCF Graduated 2018年2月。
etcd("et see dee"発音)は、Brandon Philips+CoreOSチーム(後Red Hat 2018年買収)が2013年8月にOSS化した分散Key-Valueストアで、Raft合意プロトコル(Diego Ongaro+John OusterhoutStanford大学2014年論文)+gRPC API+watchストリームを実装した現代Kubernetes基盤+クラウドネイティブインフラの中核。命名由来はLinux /etc ディレクトリ(システム設定保管場所)+distributedで分散etc=etcd。CNCF Graduated Project 2018年2月で業界標準化、Kubernetes(CNCF Graduated 2018年3月)のetcd cluster必須コンポーネントとして2014年Kubernetes誕生から2026年現在まで全Kubernetes クラスタの中央メタデータストアとして機能。主要技術: ①Raft合意プロトコル(Leader Election+Log Replication+Safety保証)、②gRPC API(HTTP/2+Protocol Buffers高速通信)、③Watch streaming(リアルタイムKey変更通知)、④Multi-Version Concurrency Control(MVCC)+スナップショット、⑤Lease機能(TTL付きKey、Service Discovery対応)、⑥Auth+RBAC(Role-Based Access Control)、⑦5-7 nodeクラスタ(Raft合意過半数耐障害性、Kubernetesは推奨3 node)。Kubernetes統合: Kubernetes API Server→etcd直接保管+Pod/Service/Deploymentメタデータ全保管+クラスタ状態管理。主要採用: Kubernetes(業界事実上標準)+OpenShift+Rancher+EKS+GKE+AKS等の全Kubernetesディストリビューション+累計Kubernetes累計60%+運用世界企業がetcd直接活用。etcd 3.5(2021年)→3.6(2024年Q4最新世代)と継続発展、Confidential Computing対応+TLS 1.3+OpenTelemetry統合等の最新機能継続。
| KVストア | OSS化 | 合意 | 用途 |
|---|---|---|---|
| etcd | 2013/08 | Raft | Kubernetes基盤 |
| Apache ZooKeeper | 2008 | ZAB | Hadoop+Kafka |
| Consul | 2014/04 | Raft | Service Discovery |
| Redis Cluster | 2015 | Gossip | Cache |
| TiKV | 2018 | Raft | TiDB分散DB |
etcdは完全にエンタープライズ・Kubernetes基盤用途で、自作PC一般用途とは別世界。自宅・ホームラボでのetcd学習: ①etcdctl コマンドラインツール(公式CLI)、②Docker Compose+etcd 3-node cluster(最小構成)、③Minikube/Kind/k3s等の開発Kubernetesでetcd内蔵学習、④Raft合意プロトコル理解(Stanford論文+解説書)+etcd Raft visualizer(ヴィジュアライザツール)でアルゴリズム学習。実装ベストプラクティス: ①3 node最小+5-7 node推奨、②HDD非推奨+NVMe SSD必須(fsync性能依存)、③専用network+専用disk(共有資源避ける)、④Backup+Restore戦略(etcdctl snapshot save/restore)、⑤TLS暗号化必須+RBAC設定で本番運用安全性確保。
Apache ZooKeeper(2008年OSS、Hadoop Foundation)はetcdの直接前世代+先行者で、ZAB合意プロトコル+Java実装+Apache Kafka基盤、etcdはGo実装+Raft+gRPCで軽量+モダン化。HashiCorp Consul(2014年OSS)はetcdの同時代競合+Service Discovery特化+Multi-DC対応で住み分け。Redis Cluster(本batch同時登録)はGossipプロトコル+Cache特化で全く異なる用途。TiKV(2018年OSS、PingCAP)はetcd派生でTiDB分散DB基盤特化。
Q1: なぜetcdがKubernetes基盤? A: ①Brandon Philips+CoreOSチームのKubernetes 2014年初期から協業、②Raft合意プロトコルの安定性・耐障害性、③gRPC+Watch streamingでKubernetes API高速応答、④Lease機能でServer Health Check統合、⑤CNCF全体でetcd+Kubernetes統合エコシステム、の5要素複合で2014-2026年事実上業界標準として確立。
Q2: ZooKeeperから何が変わった? A: ①Java→Go言語、②ZAB→Raft(証明可能な安全性)、③カスタムプロトコル→gRPC(HTTP/2+Protocol Buffers)、④軽量+運用シンプル化、⑤Cloud Native Computing Foundation(CNCF)統合、の5点でモダン化+クラウドネイティブ化。
Q3: 自宅で学習するには? A: ①Minikube+kubectl+etcdctl(最小学習)、②Docker Compose+etcd 3-node(クラスタ理解)、③kubeadm+VM 3台でKubernetes本格構築(中級)、④Raft Visualizer+Stanford論文(理論学習)、の4段階推奨。