国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker consul、容器服務(wù)更新與發(fā)現(xiàn)

這篇具有很好參考價值的文章主要介紹了Docker consul、容器服務(wù)更新與發(fā)現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

實驗前準(zhǔn)備

Consul服務(wù)器:192.168.188.17,consul服務(wù),nginx服務(wù),consul-template守護(hù)進(jìn)程
Registrator服務(wù)器:192.168.188.11,registrator容器,nginx容器

Consul部署

建立consul服務(wù)器

mkdir /opt/consul
cp consul_0.9.2_linux_amd64.zip /opt/consul
cd /opt/consul
unzip consul_0.9.2_linux_amd64.zip
mv consul /usr/local/bin/

設(shè)置代理

在后臺啟動consul服務(wù)端

consul agent \
-server \
-bootstrap \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.10.23 \
-client=0.0.0.0 \
-node=consul-server01 &> /var/log/consul.log &

參數(shù)解釋
-server:以server身份啟動。默認(rèn)是client。
-bootstrap:用來控制一個server是否在bootstrap模式,在一個數(shù)據(jù)中心中只能有一個server處于bootstrap模式,當(dāng)一個server處于 bootstrap模式時,可以自己選舉為 server-leader。
-bootstrap-expect=2:集群要求的最少server數(shù)量,當(dāng)?shù)陀谶@個數(shù)量,集群即失效。
-ui:指定開啟 UI 界面,這樣可以通過 http://localhost:8500/ui 這樣的地址訪問 consul 自帶的 web UI 界面。
-data-dir :指定數(shù)據(jù)存儲目錄。
-bind:指定用來在集群內(nèi)部的通訊地址,集群內(nèi)的所有節(jié)點(diǎn)到此地址都必須是可達(dá)的,默認(rèn)是0.0.0.0。
-client:指定 consul 綁定在哪個 client 地址上,這個地址提供 HTTP、DNS、RPC 等服務(wù),默認(rèn)是 127.0.0.1。
-node:節(jié)點(diǎn)在集群中的名稱,在一個集群中必須是唯一的,默認(rèn)是該節(jié)點(diǎn)的主機(jī)名。
-datacenter:指定數(shù)據(jù)中心名稱,默認(rèn)是dc1。

查看端口
netstat -anpt | grep consul
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
端口解釋
啟動consul后默認(rèn)會監(jiān)聽5個端口:
8300:replication、leader farwarding的端口
8301:lan cossip的端口
8302:wan gossip的端口
8500:web ui界面的端口
8600:使用dns協(xié)議查看節(jié)點(diǎn)信息的端口

查看集群信息

查看members狀態(tài)
consul members
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
查看集群狀態(tài)
consul operator raft list-peers
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
consul info | grep leader
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
通過http api獲取集群信息
curl 127.0.0.1:8500/v1/status/peers #查看集群server成員
curl 127.0.0.1:8500/v1/status/leader #集群 server-leader
curl 127.0.0.1:8500/v1/catalog/services #注冊的所有服務(wù)
curl 127.0.0.1:8500/v1/catalog/nginx #查看 nginx 服務(wù)信息
curl 127.0.0.1:8500/v1/catalog/nodes #集群節(jié)點(diǎn)詳細(xì)信息

Registrator服務(wù)器

容器服務(wù)自動加入Nginx集群

安裝Gliderlabs/Registrator

Gliderlabs/Registrator 可檢查容器運(yùn)行狀態(tài)自動注冊,還可注銷 docker 容器的服務(wù)到服務(wù)配置中心,目前支持 Consul、Etcd 和 SkyDNS2

docker run -d \
--name=registrator \
--net=host \
-v /var/run/docker.sock:/tmp/docker.sock \
--restart=always \
gliderlabs/registrator:latest \
--ip=192.168.188.11 \
consul://192.168.188.17:8500

參數(shù)解釋
–net=host:把運(yùn)行的docker容器設(shè)定為host網(wǎng)絡(luò)模式。
-v /var/run/docker.sock:/tmp/docker.sock :把宿主機(jī)的Docker守護(hù)進(jìn)程(Docker daemon)默認(rèn)監(jiān)聽的Unix域套接字掛載到容器中。
–restart=always:設(shè)置在容器退出時總是重啟容器。
–ip:剛才把network指定了host模式,所以我們指定ip為宿主機(jī)的ip。
consul:指定consul服務(wù)器的IP和端口

測試服務(wù)發(fā)現(xiàn)功能

在registrator服務(wù)器上創(chuàng)建
docker run -itd -p:83:80 --name test-01 -h test01 nginx
docker run -itd -p:84:80 --name test-02 -h test02 nginx
docker run -itd -p:88:80 --name test-03 -h test03 httpd
docker run -itd -p:89:80 --name test-04 -h test04 httpd
-h:設(shè)置容器主機(jī)名
驗證http和nginx服務(wù)是否注冊到consul,在瀏覽器中輸入http://192.168.188.17:8500
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器

部署consul-template

Consul-Template是一個守護(hù)進(jìn)程,用于實時查詢Consul集群信息,并更新文件系統(tǒng)上任意數(shù)量的指定模板,生成配置文件。更新完成以后,可以選擇運(yùn)行 shell 命令執(zhí)行更新操作

準(zhǔn)備template nginx模板文件

在consul服務(wù)器上操作
vim /opt/consul/nginx.ctmpl
#定義一個nginx upstream簡單模板

upstream http_backend {
  {{range service "nginx"}}
   server {{.Address}}:{{.Port}};
   {{end}}
}
#定義一個server,監(jiān)聽端口8000,反向代理到upstream
server {
  listen 8000;
  server_name localhost 192.168.188.17;
  access_log /var/log/nginx/dzd.com-access.log;
  index index.html index.php;
  location / {
    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Client-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://http_backend;
  }
}

編譯安裝nginx

yum -y install pcre-devel zlib-devel gcc gcc-c++ make
useradd -M -s /sbin/nologin nginx
tar zxvf nginx-1.12.0.tar.gz -C /opt/
cd /opt/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make -j && make install

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

配置nginx

vim /usr/local/nginx/conf/nginx.conf
添加虛擬主機(jī)目錄
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
創(chuàng)建虛擬主機(jī)目錄
mkdir /usr/local/nginx/conf/vhost
創(chuàng)建日志文件目錄
mkdir /var/log/nginx
啟動nginx
Nginx

配置并啟動template

unzip consul-template_0.19.3_linux_amd64.zip -d /opt/
cd /opt/
mv consul-template /usr/local/bin/
前臺啟動template服務(wù),注意啟動后不要中止進(jìn)程(ctrl+c)

consul-template --consul-addr 192.168.188.17:8500 \
--template "/opt/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/dzd.conf:/usr/local/nginx/sbin/nginx -s reload" \
--log-level=info

再開一個終端查看生成配置文件
vim /usr/local/nginx/conf/vhost/dzd.conf
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器

訪問template-nginx

在Registrator服務(wù)器上
docker ps -a
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
docker exec -it test-01 bash
echo “this is test1 web” > /usr/share/nginx/html/index.html
exit
docker exec -it test-02 bash
echo “this is test2 web” > /usr/share/nginx/html/index.html
exit
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
瀏覽器訪問http://192.168.188.17:8000,多次刷新
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器

增加nginx容器節(jié)點(diǎn)

新建一個容器(registrator服務(wù)器上)
docker run -itd -p:85:80 --name test-05 -h test05 nginx
如果上面的template服務(wù)沒關(guān),就可以看到更新內(nèi)容
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
查看生成配置文件(consul服務(wù)器上)
vim /usr/local/nginx/conf/vhost/dzd.conf
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
回瀏覽器刷新,能看到新增的節(jié)點(diǎn)上的內(nèi)容
沒寫頁面,所以展示的就是nginx默認(rèn)頁面
Docker consul、容器服務(wù)更新與發(fā)現(xiàn),云Linux,docker,consul,容器
consul多節(jié)點(diǎn)
添加一臺已有docker環(huán)境的服務(wù)器192.168.188.16加入到現(xiàn)在的集群中

consul agent \
-server \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.188.16 \
-client=0.0.0.0 \
-node=consul-server02 \
-enable-script-checks=true  \
-datacenter=dc1  \
-join 192.168.188.17 &> /var/log/consul.log &

參數(shù)解釋
-enable-script-checks=true:設(shè)置檢查服務(wù)為可用
-datacenter: 數(shù)據(jù)中心名稱
-join:加入到已有的集群中
可以用consul numbers或者consul operator raft list-peers查看集群信息文章來源地址http://www.zghlxwxcb.cn/news/detail-803223.html

到了這里,關(guān)于Docker consul、容器服務(wù)更新與發(fā)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Docker consul 容器服務(wù)自動發(fā)現(xiàn)和更新

    Docker consul 容器服務(wù)自動發(fā)現(xiàn)和更新

    目錄 一、什么是服務(wù)注冊與發(fā)現(xiàn) 二、Docker-consul集群 1.Docker-consul consul提供的一些關(guān)鍵特性 2.registrator 3.Consul-template 三、Docker-consul實現(xiàn)過程 以配置nginx負(fù)載均衡為例 先配置consul-agent ,有兩種模式server和client 四、Docker-consul集群配置 下載consul服務(wù) 常用啟動選項 web服務(wù)器啟動多

    2024年02月10日
    瀏覽(20)
  • Docker 之 Consul容器服務(wù)更新與發(fā)現(xiàn)

    Docker 之 Consul容器服務(wù)更新與發(fā)現(xiàn)

    服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點(diǎn)的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點(diǎn)的分布式架構(gòu),起初的解決手段是在服務(wù)前端負(fù)載均衡,這樣前端必須要知道所有后端服

    2024年02月15日
    瀏覽(30)
  • Docker consul的容器服務(wù)更新與發(fā)現(xiàn)

    Docker consul的容器服務(wù)更新與發(fā)現(xiàn)

    什么是服務(wù)注冊與發(fā)現(xiàn) 服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點(diǎn)的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點(diǎn)的分布式架構(gòu),起初的解決手段是在服務(wù)前端負(fù)載均衡,這樣前端

    2024年02月08日
    瀏覽(22)
  • Docker consul的容器服務(wù)注冊與發(fā)現(xiàn)

    Docker consul的容器服務(wù)注冊與發(fā)現(xiàn)

    nacos(轉(zhuǎn)給微服務(wù))、Eureka和consul一樣,也是服務(wù)注冊與發(fā)現(xiàn) 服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點(diǎn)的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點(diǎn)的分布式架構(gòu),起初的解決

    2024年02月11日
    瀏覽(19)
  • Docker-consul容器服務(wù)自動發(fā)現(xiàn)與注冊

    Docker-consul容器服務(wù)自動發(fā)現(xiàn)與注冊

    docker consul 容器的自動發(fā)現(xiàn)與注冊。 什么叫做微服務(wù)(容器)注冊與發(fā)現(xiàn) 是一種分布式管理系統(tǒng),定位服務(wù)的方法。 在傳統(tǒng)架構(gòu)中,應(yīng)用程序之間直連到已知的服務(wù),設(shè)備提供的網(wǎng)絡(luò):ip網(wǎng)絡(luò),基于tcp/ip:端口 由于現(xiàn)代微服務(wù)部署,服務(wù)的動態(tài)性,數(shù)量增加了,傳統(tǒng)的基于

    2024年01月24日
    瀏覽(19)
  • Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)

    Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)

    目錄 一、理論 1.Docker consul 二、實驗 1.consul部署 2. consul-template部署 三、總結(jié) (1)服務(wù)注冊與發(fā)現(xiàn) 服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點(diǎn)的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問。直到后來出現(xiàn)

    2024年02月11日
    瀏覽(26)
  • Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template

    Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template

    (1)服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。 (2)為解決服務(wù)都是單節(jié)點(diǎn)的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問的問題 (1)consul是google開源的一個使用go語言開發(fā)的服務(wù)管理軟件。支持多數(shù)據(jù)中心、分布式高可用的

    2024年02月11日
    瀏覽(18)
  • Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template守護(hù)進(jìn)程

    Docker容器:docker consul的注冊與發(fā)現(xiàn)及consul-template守護(hù)進(jìn)程

    (1)服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。 (2)為解決服務(wù)都是單節(jié)點(diǎn)的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問的問題 (1)consul是google開源的一個使用go語言開發(fā)的服務(wù)管理軟件。支持多數(shù)據(jù)中心、分布式高可用的

    2024年02月11日
    瀏覽(32)
  • docker consul 服務(wù)注冊與發(fā)現(xiàn)

    Docker consul的容器服務(wù)更新與發(fā)現(xiàn) ------------------------------------ Consul ------------------------------------ (1)什么是服務(wù)注冊與發(fā)現(xiàn) 服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點(diǎn)的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接

    2024年02月09日
    瀏覽(16)
  • Docker+Consul+Registrator 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)

    Docker+Consul+Registrator 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)

    第四階段 時 ?間:2023年8月8日 參加人:全班人員 內(nèi) ?容: Docker+Consul+Registrator 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn) 目錄 一、服務(wù)注冊中心引言 CAP理論是分布式架構(gòu)中重要理論: 二、服務(wù)注冊中心軟件 (一)ZooKeeper (二)Eureka (三)Etcd (四)Consul 常用的服務(wù)發(fā)現(xiàn)產(chǎn)品之間的比較: 三

    2024年02月13日
    瀏覽(85)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包