這篇文章將為大家詳細講解有關(guān)如何解析K8s中的Etcd,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
保亭黎族網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),保亭黎族網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為保亭黎族上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的保亭黎族做網(wǎng)站的公司定做!
Etcd被形容為Kubernetes集群的大腦,是 Kubernetes的關(guān)鍵組件,因為它存儲了集群的整個狀態(tài):其配置,規(guī)格以及運行中的工作負載的狀態(tài)。
在Kubernetes世界中,etcd用作服務(wù)發(fā)現(xiàn)的后端,并存儲集群的狀態(tài)及其配置。
Etcd被部署為一個集群,幾個節(jié)點的通信由Raft算法處理。在生產(chǎn)環(huán)境中,集群包含奇數(shù)個節(jié)點,并且至少需要三個。
etcd。名稱 “etcd” 源自兩個想法,即 unix “/etc” 文件夾 和 “d” 分布式系統(tǒng)?!?etc” 文件夾是用于存儲單個系統(tǒng)的配置數(shù)據(jù)的位置,而 etcd 用于存儲大規(guī)模分布式的配置信息。因此,分配了 “d” 的 “/etc” 就是 “etcd”。
etcd 被設(shè)計為大型分布式系統(tǒng)的通用基板。這些大型系統(tǒng)需要避免裂腦操作,并且愿意犧牲可用性來實現(xiàn)此目的。 etcd 以一致且容錯的方式存儲元數(shù)據(jù)。 etcd 集群旨在提供具有穩(wěn)定性、可靠性、可伸縮性和性能的鍵值存儲。
分布式系統(tǒng)將 etcd 用作配置管理、服務(wù)發(fā)現(xiàn)和協(xié)調(diào)分布式工作的一致鍵值存儲組件。許多組織在生產(chǎn)系統(tǒng)上使用 etcd,例如容器調(diào)度程序、服務(wù)發(fā)現(xiàn)服務(wù)和分布式數(shù)據(jù)存儲。使用 etcd 的常見分布式模式包括領(lǐng)導(dǎo)者選舉、分布式鎖和監(jiān)視機器活動狀態(tài)等。
ZooKeeper 解決了與 etcd 相同的問題:分布式系統(tǒng)協(xié)調(diào)和元數(shù)據(jù)存儲。但是, etcd 踩在前人的肩膀上,其參考了 ZooKeeper 的設(shè)計和實現(xiàn)經(jīng)驗。從 Zookeeper 汲取的經(jīng)驗教訓無疑為 etcd 的設(shè)計提供了支撐,從而幫助其支持 Kubernetes 等大型系統(tǒng)。對 Zookeeper 進行的 etcd 改進包括:
動態(tài)重新配置集群成員
高負載下穩(wěn)定的讀寫
多版本并發(fā)控制數(shù)據(jù)模型
可靠的鍵值監(jiān)控
租期原語將 session 中的連接解耦
用于分布式共享鎖的 API
此外,etcd 開箱即用地支持多種語言和框架。Zookeeper 擁有自己的自定義Jute RPC 協(xié)議,該協(xié)議對于 Zookeeper 而言是完全唯一的,并限制了其受支持的語言綁定,而 etcd 的客戶端協(xié)議則是基于 gRPC 構(gòu)建的,gRP 是一種流行的 RPC 框架,具有 go,C ++,Java 等語言支持。同樣,gRPC 可以通過 HTTP 序列化為 JSON,因此即使是通用命令行實用程序(例如curl)也可以與之通信。由于系統(tǒng)可以從多種選擇中進行選擇,因此它們是基于具有本機工具的 etcd 構(gòu)建的,而不是基于一組固定的技術(shù)圍繞 etcd 構(gòu)建的。
在考慮功能,支持和穩(wěn)定性時,etcd 相比于 Zookeeper,更加適合用作一致性的鍵值存儲的組件。
在Kubernetes集群的上下文中,etcd實例可以作為Pod部署在master節(jié)點上(這是我們將在本文中使用的示例)。
關(guān)于如何解析K8s中的Etcd就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。