etcd --advertise-client-urls參數(shù)理解

一、背景介紹

????一直對(duì)--advertise-client-urls這個(gè)參數(shù)迷迷糊糊的,搞不清到底是做什么的,網(wǎng)上的一些解釋也似懂非懂的,因此,本篇文章就做一個(gè)小測(cè)試,去探尋究竟。
僅供參考!

二、測(cè)試環(huán)境介紹

主機(jī)名 IP 系統(tǒng) 服務(wù)
master 172.16.91.195 centos7.5 etcd(單例)
harbor 172.16.91.222 centos7.5

三、參數(shù)說明

????etcd有要求,如果--listen-client-urls被設(shè)置了,那么就必須同時(shí)設(shè)置--advertise-client-urls,所以即使設(shè)置和默認(rèn)相同,也必須顯式設(shè)置

四、測(cè)試

4.1 測(cè)試1: 將--advertise-client-urls設(shè)置成http://127.0.0.1:2379

  1. 更新配置文件


    更新配置文件
  2. 重新啟動(dòng)etcd服務(wù)
    systemctl daemon-reload
    systemctl restart etcd 
    
  3. 在本機(jī)上測(cè)試
    etcdctl --endpoints=http://127.0.0.1:2379 --debug ls
    本機(jī)測(cè)試
  4. 在同一個(gè)局域網(wǎng)的其他機(jī)器上測(cè)試


    harbor節(jié)點(diǎn)上測(cè)試

4.2 測(cè)試2: 將--advertise-client-urls設(shè)置成http://172.16.91.195:2379

  1. 更新配置文件


    更新配置文件
  2. 重新啟動(dòng)etcd服務(wù)

    systemctl daemon-reload
    systemctl restart etcd 
    
  3. 在本機(jī)上測(cè)試
    etcdctl --endpoints=http://127.0.0.1:2379 --debug ls

    本機(jī)測(cè)試

  4. 在同一個(gè)局域網(wǎng)的其他機(jī)器上測(cè)試


    harbor節(jié)點(diǎn)上測(cè)試

4.3 測(cè)試3: 將--advertise-client-urls設(shè)置成http://172.16.91.222:2379

  1. 更新配置文件


    更新配置文件
  2. 重新啟動(dòng)etcd服務(wù)
    systemctl daemon-reload
    systemctl restart etcd 
    
  3. 在本機(jī)上測(cè)試
    本機(jī)測(cè)試
  4. 在同一個(gè)局域網(wǎng)的其他機(jī)器上測(cè)試


    harbor節(jié)點(diǎn)上測(cè)試

4.4 測(cè)試4: 將--advertise-client-urls設(shè)置成http://172.16.91.222,http://127.0.0.1:2379,http://172.16.91.195:2379

  1. 更新配置文件


    更新配置文件
  2. 重新啟動(dòng)etcd服務(wù)
    systemctl daemon-reload
    systemctl restart etcd 
    
  3. 在本機(jī)上測(cè)試
    本機(jī)測(cè)試
  4. 在同一個(gè)局域網(wǎng)的其他機(jī)器上測(cè)試


    harbor節(jié)點(diǎn)上測(cè)試

4.5 分析

觀看上面測(cè)試中,debug輸出的信息,會(huì)發(fā)現(xiàn)etcdctl的基本工作流程

4.5.1 etcdctl的基本工作流程?

etcdctl的基本工作流程

4.6 總結(jié):

  • --advertise-client-urls
    • 就是客戶端(etcdctl/curl等)跟etcd服務(wù)進(jìn)行交互時(shí)請(qǐng)求的url
  • --listen-client-urls
    • 這個(gè)參數(shù)是etcd服務(wù)器自己監(jiān)聽時(shí)用的,也就是說,監(jiān)聽本機(jī)上的哪個(gè)網(wǎng)卡,哪個(gè)端口
  • 說明etcdctl的底層邏輯,應(yīng)該是調(diào)用curl跟etcd服務(wù)進(jìn)行交換
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容