Etcd 多節(jié)點(diǎn)安裝實(shí)踐

Etcd主要功能

  1. 鍵值寫(xiě)入與讀取。
  2. 過(guò)期時(shí)間。
  3. 觀察者。
  4. 租約。
  5. 集群管理相關(guān)操作。
  6. 維護(hù)操作。
  7. 用戶及權(quán)限管理。

安裝與配置

  • wget https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz

  • 解壓下載
    sudo tar -zxvf etcd-v3.3.10-linux-amd64.tar.gz -C /opt/

  • 配置 (配置為V3版本,系統(tǒng)默認(rèn)的是v2,通過(guò)下面命令修改配置)

    sudo vim /etc/profile

    在末尾追加 export ETCDCTL_API=3

    source /etc/profile

  • 配置節(jié)點(diǎn)

    • 示例為三個(gè)節(jié)點(diǎn): 節(jié)點(diǎn)1=>192.168.56.200,節(jié)點(diǎn)2=>192.168.56.201,節(jié)點(diǎn)3=>192.168.56.202
  • 創(chuàng)建節(jié)點(diǎn)配置文件

    • 創(chuàng)建配置文件目錄

      sudo mkdir /etc/etcd

    • 創(chuàng)建etcd配置文件

      • sudo vim /etc/etcd/conf.yml

      • 添加如下內(nèi)容 (單機(jī)示例,實(shí)際要自己進(jìn)行修改)

        name: etcd_1
        data-dir: /opt/etcd-v3.3.10-linux-amd64/data
        listen-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379
        advertise-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379
        listen-peer-urls: http://192.168.56.200:2380
        initial-advertise-peer-urls: http://192.168.56.200:2380
        initial-cluster: etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380
        initial-cluster-token: etcd-cluster-token
        initial-cluster-state: new
        

        
        --listen-client-urls
        含義:對(duì)外提供服務(wù)的地址
        默認(rèn)值:http://localhost:2379
        環(huán)境變量:ETCD_LISTEN_CLIENT_URLS
        作用:對(duì)外提供服務(wù)的地址。
        提示:域名為無(wú)效值,如http://example.com:2379為錯(cuò)誤配置。 
        
        --advertise-client-urls
        含義:此成員的客戶端URL列表,用于通告群集的其余部分。這些URL可以包含域名。
        默認(rèn)值:http://localhost:2379
        環(huán)境變量:ETCD_ADVERTISE_CLIENT_URLS
        作用:對(duì)外公告的該節(jié)點(diǎn)客戶端監(jiān)聽(tīng)地址。
        
        --listen-peer-urls
        含義:和成員之間通信的地址。
        默認(rèn)值:http://localhost:2380
        環(huán)境變量:ETCD_LISTEN_PEER_URLS
        作用:用于監(jiān)聽(tīng)其他etcd member的url
        提示:域名為無(wú)效值,如http://example.com:2380為錯(cuò)誤配置。
        
        --initial-advertise-peer-urls
        含義:該節(jié)點(diǎn)成員對(duì)等URL地址,且會(huì)通告群集的其余成員節(jié)點(diǎn)。
        默認(rèn)值:http://localhost:2380 
        環(huán)境變量:ETCD_INITIAL_ADVERTISE_PEER_URLS
        
        --initial-cluster
        含義:集群中所有節(jié)點(diǎn)的信息。
        默認(rèn)值:default=http://localhost:2380 
        環(huán)境變量:ETCD_INITIAL_CLUSTER
        作用:
        注意:此處default為節(jié)點(diǎn)的--name指定的名字;localhost:2380為--initial-advertise-peer-urls指定的值。
        
        --initial-cluster-token
        含義:創(chuàng)建集群的 token,這個(gè)值每個(gè)集群保持唯一。
        默認(rèn)值:etcd-cluster
        環(huán)境變量:ETCD_INITIAL_CLUSTER_TOKEN
        作用:此配置可使重新創(chuàng)建集群,即使配置和之前一樣,也會(huì)再次生成新的集群和節(jié)點(diǎn) uuid;否則會(huì)導(dǎo)致多個(gè)集群之間的沖突,造成未知的錯(cuò)誤。
        
        --initial-cluster-state
        含義:初始集群狀態(tài)
        默認(rèn)值:new
        環(huán)境變量:ETCD_INITIAL_CLUSTER_STATE
        作用:設(shè)置new為初始靜態(tài)或DNS引導(dǎo)期間出現(xiàn)的所有成員。如果將此選項(xiàng)設(shè)置為existing,則etcd將嘗試加入現(xiàn)有群集。
        

啟動(dòng)

  • 查看版本號(hào)

    • cd /opt/etcd-v3.3.10-linux-amd64

    • ./etcdctl version

加入新的節(jié)點(diǎn)

  • 新增節(jié)點(diǎn) eg:192.168.56.201:2383

    ./etcdctl member add etcd_2 --peer-urls="http://192.168.56.201:2380"
    
    顯示
    ETCD_NAME="etcd_2"
    ETCD_INITIAL_CLUSTER="etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380"
    ETCD_INITIAL_CLUSTER_STATE="existing"
    
  • 啟動(dòng)新節(jié)點(diǎn)

    • 寫(xiě)入conf.yaml文件
      vim /etc/etcd/conf.yml

      name: etcd_2
      data-dir: /opt/etcd-v3.3.10-linux-amd64/data
      listen-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379
      advertise-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379
      listen-peer-urls: http://192.168.56.202:2380
      initial-advertise-peer-urls: http://192.168.56.202:2380
      initial-cluster:    etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380,etcd_3=http://192.168.56.202:2380
      initial-cluster-token: etcd-cluster-token
      initial-cluster-state: existing
      
      

參考鏈接

etcd使用經(jīng)驗(yàn)總結(jié)

結(jié)論測(cè)試通過(guò)!!!

3個(gè)節(jié)點(diǎn)全部加入成功

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Kubernetes作為容器應(yīng)用的管理中心,通過(guò)對(duì)Pod的數(shù)量進(jìn)行監(jiān)控,并且根據(jù)主機(jī)或容器失效的狀態(tài)將新的Pod調(diào)...
    輝耀輝耀閱讀 4,627評(píng)論 0 13
  • 前言 嘗到k8s甜頭以后,我們就想著應(yīng)用到生產(chǎn)環(huán)境里去,以提高業(yè)務(wù)迭代效率,可是部署在生產(chǎn)環(huán)境里有一個(gè)要求,就是k...
    我的橙子很甜閱讀 13,008評(píng)論 0 15
  • docker實(shí)現(xiàn)了更便捷的單機(jī)容器虛擬化的管理, docker的位置處于操作系統(tǒng)層與應(yīng)用層之間; 相對(duì)傳統(tǒng)虛擬化(...
    Harvey_L閱讀 19,952評(píng)論 3 44
  • 文|豬小鬧 1 這是一個(gè)涂磊節(jié)目里的一個(gè)情感事故。 年輕的男人一夜暴富之后,他很快的忘了貧窮時(shí)一起打拼的女友。...
    豬小鬧閱讀 618評(píng)論 0 1
  • 使用Kindle的同學(xué)應(yīng)該知道Amazon官方有個(gè)Send To Kindle的插件可以方便的把文檔推送到你的設(shè)備...
    小溫侯閱讀 1,689評(píng)論 2 1