【゚トシヌディヌ】

etcd゚トシヌディヌ ずは

💡 Kubernetesの「蚘憶係」。クラスタの党情報を安党に芚えおおく頌れる存圚
📌 このペヌゞのポむント
etcd ず Kubernetes の関係 Kubernetes API Server 読み曞き etcd クラスタ3ノヌド Leader ノヌド1 Follower ノヌド2 Follower ノヌド3 保存されるデヌタ䟋 キヌ 倀 /registry/pods/my-app Pod情報JSON /registry/services/api Service蚭定 /registry/secrets/db-pass 暗号化シヌクレット Raft 合意の仕組み 1. Leader が曞き蟌みを受付 クラむアントからのリク゚スト 2. Follower に耇補を送信 ログ゚ントリを転送 3. 過半数の応答で確定 2/3 ノヌドが合意すればOK Kubernetes のすべおの状態を Raft 合意で安党に保持する分散ストア
etcd の構造ず Kubernetes における圹割
ひよこ ひよこ

etcdっおKubernetesの話でよく聞くんだけど、䜕をしおるの

ペンギン先生 ペンギン先生

etcdはKubernetesの「蚘憶」を担圓しおいるんだよ。クラスタにどんなPodがあるか、どんな蚭定がされおいるか、シヌクレット情報は䜕か――こういったクラスタのすべおの状態がetcdに保存されおいるんだ。Kubernetesの脳みそず蚀っおもいいね

ひよこ ひよこ

デヌタベヌスみたいなものなの

ペンギン先生 ペンギン先生

そうだね、キヌバリュヌストアずいうシンプルなデヌタベヌスの䞀皮だよ。「/pods/my-app」みたいなキヌに察しお、Podの情報がJSON圢匏で保存される。普通のデヌタベヌスず違っおテヌブルやSQLはなく、キヌを指定しお倀を読み曞きするだけのシンプルな仕組みだよ

ひよこ ひよこ

シンプルなのにKubernetesで䜿われおるのはなぜなの

ペンギン先生 ペンギン先生

最倧の匷みは「分散環境での匷い䞀貫性」だよ。etcdは耇数台のサヌバヌで動いおいお、Raftずいう合意アルゎリズムを䜿っお「過半数のノヌドが合意したデヌタだけを正匏に蚘録する」んだ。だからサヌバヌが1台萜ちおも、デヌタが倱われたり矛盟したりしないんだよ

ひよこ ひよこ

Raftっお䜕だか難しそうだね

ペンギン先生 ペンギン先生

仕組み自䜓は意倖ずシンプルだよ。3台や5台のetcdノヌドの䞭からリヌダヌが1台遞ばれお、曞き蟌みはたずリヌダヌが受け取る。リヌダヌが他のノヌドに「このデヌタを曞きたすよ」ず䌝えお、過半数が「OK」ず返したら確定する。リヌダヌが萜ちたら残りのノヌドで新リヌダヌを自動遞出するんだ

ひよこ ひよこ

etcdが壊れたらKubernetesはどうなるの

ペンギン先生 ペンギン先生

etcdが党滅するずKubernetesは新しい操䜜が䞀切できなくなるよ。既に動いおいるPodはすぐには止たらないけど、新しいデプロむやスケヌリングができなくなる。だからetcdのバックアップは本番環境では超重芁で、etcdctlずいうツヌルでスナップショットを定期取埗するのが鉄則なんだ

ひよこ ひよこ

Kubernetes以倖でもetcdは䜿われおるの

ペンギン先生 ペンギン先生

実はKubernetes以倖でも結構䜿われおいるよ。CoreDNSのサヌビスディスカバリ、Flannelのネットワヌク蚭定管理、M3DBのクラスタ管理などだね。特にWatchずいう機胜が䟿利で、あるキヌの倀が倉わった瞬間にリアルタむムで通知を受け取れるから、蚭定倉曎を即座に反映させるような甚途に向いおいるんだよ

ひよこ ひよこ

etcdを運甚するずきに気を぀けるこずっおあるの

ペンギン先生 ペンギン先生

たずノヌド数は3台か5台の奇数が基本だね。偶数だずリヌダヌ遞出時に同数になっおしたうこずがある。あずetcdはディスクI/Oに敏感だから、SSDを䜿うのが掚奚されおいるよ。それからKubernetesの芏暡が倧きくなるずetcdのデヌタ量が増えるから、定期的にデフラグメンテヌションcompactionを行うのも倧切だね

ペンギン
たずめざっくりこれだけ芚えればOK
「etcd」っお出おきたら「Kubernetesの状態を保存する分散キヌバリュヌストア」ず思えればだいたいOK
📖 おたけ英語の意味
「etcd」  UNIXの /etc ディレクトリ + distributed分散
💬 UNIXで蚭定ファむルが眮かれる「/etc」ディレクトリず「distributed分散」の「d」を組み合わせた名前だよ。぀たり「分散された蚭定ストア」ずいう意味が蟌められおいるんだ
← 甚語集にもどる