溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

kubernetes實(shí)踐中的Etcd3集群搭建是怎樣的

發(fā)布時(shí)間:2021-12-13 10:55:24 來源:億速云 閱讀:87 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家介紹kubernetes實(shí)踐中的Etcd3集群搭建是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一:Etcd簡介
ETCD是用于共享配置和服務(wù)發(fā)現(xiàn)的分布式,一致性的KV存儲(chǔ)系統(tǒng)。類似于Zookeeper.
ETCD的使用場景:配置管理,服務(wù)注冊于發(fā)現(xiàn),選主,應(yīng)用調(diào)度,分布式隊(duì)列,分布式鎖.
ETCD使用Raft協(xié)議來維護(hù)集群內(nèi)各個(gè)節(jié)點(diǎn)狀態(tài)的一致性。簡單說,ETCD集群是一個(gè)分布式系統(tǒng),由多個(gè)節(jié)點(diǎn)相互通信構(gòu)成整體對外服務(wù),每個(gè)節(jié)點(diǎn)都存儲(chǔ)了完整的數(shù)據(jù),并且通過Raft協(xié)議保證每個(gè)節(jié)點(diǎn)維護(hù)的數(shù)據(jù)是一致的。

二:Etcd3集群背景

10.116.137.196    k8s_master
10.116.82.28       k8s_node1
10.116.36.57       k8s_node2

Etcd版本:etcd-v3.1.8-linux-amd64.tar.gz(https://github.com/coreos/etcd/releases)

三:Etcd3安裝

1.環(huán)境變量設(shè)置  vi /etc/profile

export ETCDCTL_API=3

2.關(guān)閉系統(tǒng)防火墻

systemctl disable firewalld
systemctl stop firewalld

3.安裝

tar -zxvf etcd-v3.1.8-linux-amd64.tar.gz
cp etcd /usr/bin/
cp etcdctl /usr/bin/

創(chuàng)建/etc/etcd/etcd.conf 配置文件
創(chuàng)建/usr/lib/systemd/system/etcd.service   systemctl啟動(dòng)文件。

4.配置文件(藍(lán)色背景處為三個(gè)節(jié)點(diǎn)需要修改的地方)

etcd.service


點(diǎn)擊(此處)折疊或打開

  1. [Unit]

  2. Description=Etcd Server

  3. After=network.target

  4. After=network-online.target

  5. Wants=network-online.target


  6. [Service]

  7. Type=notify

  8. WorkingDirectory=/var/lib/etcd/

  9. EnvironmentFile=/etc/etcd/etcd.conf

  10. ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\" --listen-peer-urls=\"${ETCD_LISTEN_PEER_URLS}\" --advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" --initial-advertise-peer-urls=\"${ETCD_INITIAL_ADVERTISE_PEER_URLS}\" --initial-cluster=\"${ETCD_INITIAL_CLUSTER}\" --initial-cluster-state=\"${ETCD_INITIAL_CLUSTER_STATE}\""

  11. Restart=on-failure

  12. LimitNOFILE=65536


  13. [Install]

  14. WantedBy=multi-user.target

etcd.conf 配置文件(https://github.com/coreos/etcd/blob/master/etcd.conf.yml.sample)


點(diǎn)擊(此處)折疊或打開

  1. # [member]

  2. ETCD_NAME=k8s_master

  3. ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

  4. ETCD_LISTEN_PEER_URLS="http://120.25.154.90:2380"

  5. ETCD_LISTEN_CLIENT_URLS="http://120.25.154.90:2379,http://127.0.0.1:2379"


  6. # [cluster]

  7. ETCD_INITIAL_ADVERTISE_PEER_URLS="http://120.25.154.90:2380"

  8. ETCD_INITIAL_CLUSTER="k8s_master=http://120.25.154.90:2380,k8s_node1=http://120.25.220.176:2380,k8s_node2=http://112.74.105.178:2380"

  9. ETCD_INITIAL_CLUSTER_STATE="new"

  10. ETCD_INITIAL_CLUSTER_TOKEN="k8s-etcd-cluster"

  11. ETCD_ADVERTISE_CLIENT_URLS="http://120.25.154.90:2379"

5.啟動(dòng) 通過systemctl start命令啟動(dòng)etcd服務(wù),同時(shí)使用systemctl enable 命令將服務(wù)加入開機(jī)啟動(dòng)列表中

systemctl     daemon-reload
systemctl     enable    etcd.service
systemctl     start       etcd.service

6.啟動(dòng)結(jié)果查詢

kubernetes實(shí)踐中的Etcd3集群搭建是怎樣的

四:Etcd配置參數(shù)說明(https://coreos.com/etcd/docs/latest/op-guide/configuration.html


點(diǎn)擊(此處)折疊或打開

  1. Etcd的參數(shù)配置方式有兩種,一種是命令行的方式,一種是環(huán)境變量的方式。命令行方式的優(yōu)先級高于環(huán)境變量的方式。


  2. Etcd默認(rèn)2379端口處理客戶端的請求;2380端口用于集群各成員間的通信。


  3. #[member]


  4. -name 或 ETCD_NAME:


  5. 指定當(dāng)前etcd成員的名稱  默認(rèn)值為"default",通常用戶Hostname來命名。


  6. -data-dir或ETCD_DATA_DIR:


  7. etcd數(shù)據(jù)文件目錄,默認(rèn)是“${name}.etcd”


  8. –snapshot-count或ETCD_SNAPSHOT_COUNT:


  9. 指定多少次commit操作會(huì)觸發(fā)一次磁盤快照,默認(rèn)值是10000


  10. –heartbeat-interval或 ETCD_ELECTION_TIMEOUT:


  11. 心跳信號(hào)間隔,毫秒級,默認(rèn)是100毫秒。


  12. –listen-peer-urls或 ETCD_LISTEN_PEER_URLS


  13. 用于監(jiān)聽集群中其他成員的發(fā)送信息的地址。默認(rèn)值是“http://localhost:2380”


  14. –listen-client-urls或ETCD_LISTEN_CLIENT_URLS:

  15. 用于監(jiān)聽客戶端發(fā)來的信息的地址,默認(rèn)值是“http://localhost:2379”


  16. –max-snapshots或ETCD_MAX_SNAPSHOTS

  17. 鏡像文件的最大個(gè)數(shù),默認(rèn)是5.0表示無限制


  18. –max-wals或ETCD_MAX_WALS:


  19. #[cluster]

  20. –initial-advertise-peer-urls或 ETCD_INITIAL_ADVERTISE_PEER_URLS:

  21. 集群中各節(jié)點(diǎn)相互通信的地址。


  22. –initial-cluster或ETCD_INITIAL_CLUSTER:

  23. 初始集群由哪些成員組成  默認(rèn)值是“efault=http://localhost:2380”


  24. –initial-cluster-state或ETCD_INITIAL_CLUSTER_STATE:

  25. 集群的初始狀態(tài),其值有“new”和“existing”,默認(rèn)為“new”


  26. –initial-cluster-token:ETCD_INITIAL_CLUSTER_TOKEN:


  27. 集群名稱


  28. –advertise-client-urls或ETCD_ADVERTISE_CLIENT_URLS:


  29. 客戶端與集群通信地址

關(guān)于kubernetes實(shí)踐中的Etcd3集群搭建是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI