1.etcd成員重要參數(shù)
data-dir表示數(shù)據(jù)落盤的地方
peer-url:集群之間通信是走peer-urls的潘拨,客戶端發(fā)送到etcd server的這種請(qǐng)求是走client-urls的
2.etcd集群重要參數(shù)
3.etcd安全相關(guān)參數(shù)
4.災(zāi)備
5.etcd容量管理
6.Alarm And disarm Alarm
7.碎片整理
8.高可用etcd解決方案
8.1 etcd operator
operator本身是CRD+controller的組合借尿。
CRD就是一個(gè)模型抽象霉赡,你需要以聲明式的形式定義出來刨疼,Controller的行為是加載命令。
etcdCluster:用戶可以定義一個(gè)第三方擴(kuò)展對(duì)象etcdCluster间螟。在這個(gè)cluster里面可以定義我需要的etcd的版本是什么纤垂,我需要的副本數(shù)量。當(dāng)定義好這些對(duì)象之后呢宛乃,etcd-operator會(huì)運(yùn)行一個(gè)控制器悠咱,這個(gè)控制器會(huì)解析etcdCluster,然后創(chuàng)建K8S pod,那么這些pod就會(huì)運(yùn)行etcd的image征炼,并且按照用戶的輸入組成etcd集群析既。
8.2 基于bitnami安裝etcd高可用集群
它本質(zhì)上是一個(gè)statefulSet
helm是一個(gè)管理K8S的應(yīng)用包的工具
9.K8S如何使用etcd
9.1 K8S對(duì)象在etcd中的存儲(chǔ)路徑
9.2 etcd在集群中所處的位置
etcd通常是由kubelet來管理的,kubelet會(huì)讀取一個(gè)config,這個(gè)config里面定義了一個(gè)staticPodPath叫/etc/kubernetes/manifests,kubelet本身的作用是維護(hù)Pod的生命周期的谆奥,而且它采用了監(jiān)聽API Server和掃描本地的staticPodPath來創(chuàng)建Pod.
堆疊式的方式讓etcd和API Server是緊綁定的眼坏。所有API Server都是通過loopback口發(fā)送給etcd的。所以對(duì)于讀操作就不需要走leader酸些,直接在本地讀到就OK了宰译。
9.3 etcd集群高可用規(guī)劃
9.4 etcd存儲(chǔ)規(guī)劃
9.5 etcd安全性
9.6 etcd事件分離
不要讓一些審計(jì)事件來影響了集群。
9.7 減少網(wǎng)絡(luò)延遲
9.8 減少磁盤IO延遲
9.9 保持合理的日志文件大小
9.10 設(shè)置合理的存儲(chǔ)配額
9.11 自動(dòng)壓縮歷史版本
9.12 定期消除碎片化
9.13 優(yōu)化運(yùn)行參數(shù)
9.14 etcd備份存儲(chǔ)
每次snapshot的時(shí)候魄懂,會(huì)鎖住磁盤空間沿侈,所以不能做太多。