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

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.Docker consul

(1)服務(wù)注冊與發(fā)現(xiàn)

服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點的分布式架構(gòu),起初的解決手段是在服務(wù)前端負(fù)載均衡,這樣前端必須要知道所有后端服務(wù)的網(wǎng)絡(luò)位置,并配置在配置文件中。這里就會有幾個問題:
●如果需要調(diào)用后端服務(wù)A-N,就需要配置N個服務(wù)的網(wǎng)絡(luò)位置,配置很麻煩
●后端服務(wù)的網(wǎng)絡(luò)位置變化,都需要改變每個調(diào)用者的配置

既然有這些問題,那么服務(wù)注冊與發(fā)現(xiàn)就是解決這些問題的。后端服務(wù)A-N可以把當(dāng)前自己的網(wǎng)絡(luò)位置注冊到服務(wù)發(fā)現(xiàn)模塊,服務(wù)發(fā)現(xiàn)就以K-V的方式記錄下來,K一般是服務(wù)名,V就是IP:PORT。服務(wù)發(fā)現(xiàn)模塊定時的進(jìn)行健康檢查,輪詢查看這些后端服務(wù)能不能訪問的了。前端在調(diào)用后端服務(wù)A-N的時候,就跑去服務(wù)發(fā)現(xiàn)模塊問下它們的網(wǎng)絡(luò)位置,然后再調(diào)用它們的服務(wù)。這樣的方式就可以解決上面的問題了,前端完全不需要記錄這些后端服務(wù)的網(wǎng)絡(luò)位置,前端和后端完全解耦。

下載地址:

Install | Consul | HashiCorp Developer

(2)consul

consul是google開源的一個使用go語言開發(fā)的服務(wù)管理軟件。支持多數(shù)據(jù)中心、分布式高可用的、服務(wù)發(fā)現(xiàn)和配置共享。采用Raft算法,用來保證服務(wù)的高可用。內(nèi)置了服務(wù)注冊與發(fā)現(xiàn)框架、分布一致性協(xié)議實現(xiàn)、健康檢查、Key/Value存儲、多數(shù)據(jù)中心方案,不再需要依賴其他工具(比如ZooKeeper等)。服務(wù)部署簡單,只有一個可運行的二進(jìn)制的包。每個節(jié)點都需要運行agent,他有兩種運行模式server 和 client。 每個數(shù)據(jù)中心官方建議需要3或5個server節(jié)點以保證數(shù)據(jù)安全,同時保證server-leader的選舉能夠正確的進(jìn)行。

在client模式下,所有注冊到當(dāng)前節(jié)點的服務(wù)會被轉(zhuǎn)發(fā)到server節(jié)點,本身是不持久化這些信息。
在server模式下,功能和client模式相似,唯一不同的是,它會把所有的信息持久化到本地,這樣遇到故障,信息是可以被保留的。
server-leader是所有server節(jié)點的老大,它和其它server節(jié)點不同的是,它需要負(fù)責(zé)同步注冊的信息給其它的server節(jié)點,同時也要負(fù)責(zé)各個節(jié)點的健康監(jiān)測。

consul提供的一些關(guān)鍵特性:
服務(wù)注冊與發(fā)現(xiàn):consul通過DNS或者HTTP接口使服務(wù)注冊和服務(wù)發(fā)現(xiàn)變的很容易,一些外部服務(wù),例如saas提供的也可以一樣注冊。
健康檢查:健康檢測使consul可以快速的告警在集群中的操作。和服務(wù)發(fā)現(xiàn)的集成,可以防止服務(wù)轉(zhuǎn)發(fā)到故障的服務(wù)上面。
Key/Value存儲:一個用來存儲動態(tài)配置的系統(tǒng)。提供簡單的HTTP接口,可以在任何地方操作。
多數(shù)據(jù)中心:無需復(fù)雜的配置,即可支持任意數(shù)量的區(qū)域。

安裝consul是用于服務(wù)注冊,也就是容器本身的一些信息注冊到consul里面,其他程序可以通過consul獲取注冊的相關(guān)服務(wù)信息,這就是服務(wù)注冊與發(fā)現(xiàn)。
Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

(3)consul端口

啟動consul后默認(rèn)會監(jiān)聽5個端口:
8300:replication、leader farwarding的端口
8301:lan cossip的端口
8302:wan gossip的端口
8500:web ui界面的端口
8600:使用dns協(xié)議查看節(jié)點信息的端口

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

(4)consul部署

①目的

通過consul部署實現(xiàn)自動發(fā)現(xiàn)注冊服務(wù)端(后端服務(wù)器),并可檢查容器運行狀態(tài)自動注冊還可注銷 docker 容器的服務(wù)到服務(wù)配置中心

②實驗環(huán)境及拓?fù)?/p>

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

表1 環(huán)境

服務(wù)器功能 服務(wù)器ip 服務(wù)器部署程序
consul服務(wù)器 192.168.204.140 運行consul服務(wù)、nginx服務(wù)、consul-template守護(hù)進(jìn)程
registrator服務(wù)器 192.168.204.141 運行registrator容器、運行nginx容器

③consul配置

cd /opt
unzip consul_0.9.2_linux_amd64.zip
mv consul /usr/local/bin/
#將consul壓縮包放入opt,解壓后移動到/usr/local/bin目錄可全局使用consul命令
consul agent \
#設(shè)置代理,在后臺啟動 consul 服務(wù)端
-server \
-bootstrap \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.204.140 \
-client=0.0.0.0 \
-node=consul-server01 &> /var/log/consul.log &
#-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é)點到此地址都必須是可達(dá)的,默認(rèn)是0.0.0.0。
#-client :指定 consul 綁定在哪個 client 地址上,這個地址提供 HTTP、DNS、RPC 等服務(wù),默認(rèn)是 127.0.0.1。
#-node :節(jié)點在集群中的名稱,在一個集群中必須是唯一的,默認(rèn)是該節(jié)點的主機(jī)名。
#-datacenter :指定數(shù)據(jù)中心名稱,默認(rèn)是dc1。
netstat -natp | grep consul
#查看consul是否啟動成功,會監(jiān)聽5個端口
8300:replication、leader farwarding的端口
8301:lan cossip的端口
8302:wan gossip的端口
8500:web ui界面的端口
8600:使用dns協(xié)議查看節(jié)點信息的端口
consul members
#查看集群信息
consul operator raft list-peers
#查看集群狀態(tài)
consul info | grep leader
#查看leader信息
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é)點詳細(xì)信息

④registrator后端配置

安裝 Gliderlabs/Registrator,Gliderlabs/Registrator 可檢查容器運行狀態(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.204.141 \
consul://192.168.204.140:8500
#--net=host :把運行的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和端口。
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
#創(chuàng)建2個nginx容器,2個httpd容器測試發(fā)現(xiàn)功能是否正常


⑤測試發(fā)現(xiàn)功能是否正常

瀏覽器中,輸入 http://192.168.204.140:8500,在 Web 頁面中“單擊 NODES”,然后單擊“consurl-server01”,會出現(xiàn) 5 個服務(wù)

(4)consul-template部署

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

#consul服務(wù):即192.168.204.140上執(zhí)行

#準(zhǔn)備模板文件,upstream模塊中的全為變量自動獲取微服務(wù)地址和端口,server定義是監(jiān)聽本機(jī)8000端口指定日志文件和主頁類型
vim /opt/consul/nginx.ctmpl
upstream http_backend {
  {{range service "nginx"}}
   server {{.Address}}:{{.Port}};
   {{end}}
}
server {
    listen 8000;
    server_name localhost 192.168.204.140;
    access_log /var/log/nginx/david.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

#consul服務(wù):即192.168.204.140上執(zhí)行
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
useradd -M -s /sbin/nologin nginx
#安裝依賴環(huán)境和編譯工具,并創(chuàng)建nginx用戶
cd /opt/
wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar zxvf nginx-1.12.0.tar.gz 
#下載nginx壓縮包到/opt目錄下并解壓
cd /opt/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make -j4 && make install
#進(jìn)入解壓后的nginx文件夾鏡像編譯安裝
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#將nginx命令軟連接到/usr/local/sbin/下可以進(jìn)行全局使用
vim /usr/local/nginx/conf/nginx.conf
#編輯nginx主配置文件在http模塊中指定子配置文件路徑,如下
http {
     include       mime.types;
     include  vhost/*.conf;       				
#添加虛擬主機(jī)目錄即子配置文件路徑
     default_type  application/octet-stream;
mkdir /usr/local/nginx/conf/vhost 
#創(chuàng)建虛擬主機(jī)目錄即nginx子配置文件目錄
mkdir /var/log/nginx
#創(chuàng)建日志文件目錄
nginx
#啟動nginx

③安裝template

下載地址:

Consul Template v0.19.3 Binaries | HashiCorp Releases

#consul服務(wù):即192.168.204.140上執(zhí)行
cd /opt/
unzip consul-template_0.19.3_linux_amd64.zip
mv consul-template /usr/local/bin/
#將 consul-template包上傳到/opt目錄下并解壓,將解壓后的 consul-template移動到/usr/local/bin下可進(jìn)行全局使用
consul-template --consul-addr 192.168.204.140:8500 \
--template "/opt/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/david.conf:/usr/local/nginx/sbin/nginx -s reload" \
--log-level=info
#在前臺啟動 template 服務(wù),啟動后不要按 ctrl+c 中止 consul-template 進(jìn)程,注意前臺
 
#重新打開一個窗口查看是否根據(jù)模板生成了新的子配置文件
cat /usr/local/nginx/conf/vhost/david.conf

(5)驗證template-nginx負(fù)載結(jié)果

#服務(wù)端:即192.168.204.141

#查看啟動的容器信息
[root@localhost ~]# docker ps 
CONTAINER ID   IMAGE                           COMMAND                   CREATED       STATUS       PORTS                               NAMES
ab7cf91c2a4f   httpd                           "httpd-foreground"        2 hours ago   Up 2 hours   0.0.0.0:89->80/tcp, :::89->80/tcp   test-04
8d47678fcb1f   httpd                           "httpd-foreground"        2 hours ago   Up 2 hours   0.0.0.0:88->80/tcp, :::88->80/tcp   test-03
771befe3bda7   nginx                           "/docker-entrypoint.…"   2 hours ago   Up 2 hours   0.0.0.0:84->80/tcp, :::84->80/tcp   test-02
e2e175dfafba   nginx                           "/docker-entrypoint.…"   2 hours ago   Up 2 hours   0.0.0.0:83->80/tcp, :::83->80/tcp   test-01
f8041fa14549   gliderlabs/registrator:latest   "/bin/registrator --…"   2 hours ago   Up 2 hours                                       registrator



#分別進(jìn)入2個微服務(wù)容器即2個nginx和2個http,更換主頁內(nèi)容
[root@localhost ~]# docker exec -it e2e175dfafba  bash
root@test01:/# echo "this is test1 web" > /usr/share/nginx/html/index.html
root@test01:/# exit
exit
[root@localhost ~]# docker exec -it 771befe3bda7 bash
root@test02:/# echo "this is test2 web" > /usr/share/nginx/html/index.html
root@test02:/# exit
exit

瀏覽器訪問:http://192.168.204.140:8000/并不斷刷新,會有2種結(jié)果是更換后的nginx主頁內(nèi)容

(6)測試微服務(wù)變動consul-template是否生效

①新增nginx微服務(wù)容器

#服務(wù)端:即192.168.30.12
docker run -itd -p:85:80 --name test-05 -h test05 nginx
#新增查看是否生效

②刪除nginx微服務(wù)容器

docker stop test-05
#停止新增的test-05的nginx容器查看是生效

二、實驗

1.consul部署

(1) 目的

通過consul部署實現(xiàn)自動發(fā)現(xiàn)注冊服務(wù)端(后端服務(wù)器),并可檢查容器運行狀態(tài)自動注冊還可注銷 docker 容器的服務(wù)到服務(wù)配置中心

(2) 實驗環(huán)境及拓?fù)?/p>

表1 環(huán)境

服務(wù)器功能 服務(wù)器ip 服務(wù)器部署程序
consul服務(wù)器 192.168.204.140 運行consul服務(wù)、nginx服務(wù)、consul-template守護(hù)進(jìn)程
registrator服務(wù)器 192.168.204.141 運行registrator容器、運行nginx容器

(3) consul配置

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

?將consul壓縮包放入opt,解壓后移動到/usr/local/bin目錄可全局使用consul命令Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?查看consul是否啟動成功,會監(jiān)聽5個端口Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?查看集群信息Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?查看集群狀態(tài)

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

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

?查看集群server成員Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?集群 server-leader

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

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

?查看 nginx 服務(wù)信息Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?集群節(jié)點詳細(xì)信息Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?(4)?registrator后端配置

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

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

?創(chuàng)建2個nginx容器,2個httpd容器測試發(fā)現(xiàn)功能是否正常Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

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

?(5)測試發(fā)現(xiàn)功能是否正常

瀏覽器中,輸入 http://192.168.204.140:8500

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

在 Web 頁面中“單擊 NODES”,?然后單擊“consurl-server01”,會出現(xiàn) 5 個服務(wù)Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

2. consul-template部署

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

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

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

(2)?編譯安裝nginx

安裝依賴環(huán)境和編譯工具,并創(chuàng)建nginx用戶

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

?下載nginx壓縮包到/opt目錄下并解壓Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?進(jìn)入解壓后的nginx文件夾鏡像編譯安裝Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?將nginx命令軟連接到/usr/local/sbin/下可以進(jìn)行全局使用Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

(3)配置 nginx

?編輯nginx主配置文件在http模塊中指定子配置文件路徑,如下Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器?添加虛擬主機(jī)目錄即子配置文件路徑Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?創(chuàng)建虛擬主機(jī)目錄即nginx子配置文件目錄

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

?創(chuàng)建日志文件目錄Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

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

?(4)配置并啟動 template

將 consul-template包上傳到/opt目錄下并解壓,將解壓后的 consul-template移動到/usr/local/bin下可進(jìn)行全局使用

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

?在前臺啟動 template 服務(wù),啟動后不要按 ctrl+c 中止 consul-template 進(jìn)程,注意前臺

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

?重新打開一個窗口查看是否根據(jù)模板生成了新的子配置文件Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

(5)?驗證template-nginx負(fù)載結(jié)果

查看啟動的容器信息Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

分別進(jìn)入2個微服務(wù)容器即2個nginx和2個http,更換主頁內(nèi)容

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

瀏覽器訪問:http://192.168.204.140:8000/并不斷刷新,會有2種結(jié)果是更換后的nginx主頁內(nèi)容

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

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

?(6)?測試微服務(wù)變動consul-template是否生效

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

?查看日志已更新

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

新增查看是否生效Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?查看nodes已新增Docker容器與虛擬化技術(shù):Docker consul 實現(xiàn)服務(wù)注冊與發(fā)現(xiàn),Docker容器與虛擬化技術(shù),docker,consul,容器

?② 刪除nginx微服務(wù)容器

停止test-05的nginx容器

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

?查看日志已更新

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

停止新增的test-05的nginx容器查看是生效

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

?查看nodes已刪除

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

三、總結(jié)

consul是google開源的一個使用go語言開發(fā)的服務(wù)管理軟件。

Consul-Template是基于Consul的自動替換配置文件的應(yīng)用。

啟動consul后默認(rèn)會監(jiān)聽5個端口:

8300:replication、leader farwarding的端口
8301:lan cossip的端口
8302:wan gossip的端口
8500:web ui界面的端口
8600:使用dns協(xié)議查看節(jié)點信息的端口

通過 http api 獲取集群信息:文章來源地址http://www.zghlxwxcb.cn/news/detail-673634.html

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é)點詳細(xì)信息

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

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

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

相關(guān)文章

  • Docker容器與虛擬化技術(shù):Docker鏡像創(chuàng)建、Dockerfile實例

    Docker容器與虛擬化技術(shù):Docker鏡像創(chuàng)建、Dockerfile實例

    目錄 一、理論 1.Docker鏡像的創(chuàng)建方法 2.Docker鏡像結(jié)構(gòu)的分層 3.Dockerfile 案例 4.構(gòu)建Systemctl鏡像(基于SSH鏡像) 5.構(gòu)建Tomcat 鏡像 6.構(gòu)建Mysql鏡像 二、實驗 1.Docker鏡像的創(chuàng)建 2.?Dockerfile 案例 3.構(gòu)建Systemctl鏡像(基于SSH鏡像) 三、問題 1.nginx網(wǎng)頁打不開 ?2.Apache容器啟動一直為Ex

    2024年02月12日
    瀏覽(94)
  • Docker容器與虛擬化技術(shù):Dockerfile部署LNMP

    Docker容器與虛擬化技術(shù):Dockerfile部署LNMP

    目錄 一、理論 1.LNMP架構(gòu) 2.背景 3.Dockerfile部署LNMP 3.構(gòu)建Nginx鏡像 4.構(gòu)建MySQL容器 5.構(gòu)建PHP鏡像 6.啟動 wordpress 服務(wù)? 二、實驗 ?1.環(huán)境準(zhǔn)備 2.構(gòu)建Nginx鏡像 3.構(gòu)建MySQL容器 4.構(gòu)建PHP鏡像 5.啟動 wordpress 服務(wù)? 三、問題 1.構(gòu)建nginx鏡像報錯 2.構(gòu)建php鏡像報錯 2.生成PHP鏡像一直為Exit

    2024年02月04日
    瀏覽(25)
  • 架構(gòu)師之路 -- 虛擬化技術(shù)與容器Docker,rabbitmq面試題

    架構(gòu)師之路 -- 虛擬化技術(shù)與容器Docker,rabbitmq面試題

    通常架構(gòu)師們?yōu)榱颂岣呦到y(tǒng)及硬件資源的利用率引入了虛擬化技術(shù)。 虛擬化是一種資源管理技術(shù),它可以把各種實體資源抽像后再分隔,從而打破實體結(jié)構(gòu)的限制,最大程度的提高資源的利用率。 今天我們來聊一下傳統(tǒng)虛擬化技術(shù)和以Docker為代表的容器技術(shù)。 虛擬化 虛擬化

    2024年04月12日
    瀏覽(40)
  • 【Docker】Docker中Linux 容器、網(wǎng)絡(luò)虛擬化與虛擬局域網(wǎng)的技術(shù)特點詳細(xì)講解

    【Docker】Docker中Linux 容器、網(wǎng)絡(luò)虛擬化與虛擬局域網(wǎng)的技術(shù)特點詳細(xì)講解

    前言 Docker 是一個 開源的應(yīng)用容器引擎 ,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux或Windows 操作系統(tǒng)的機(jī)器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。 ??作者簡介: 熱愛跑步的恒川 ,致力于

    2024年02月09日
    瀏覽(22)
  • Docker容器與虛擬化技術(shù):OpenEuler 部署 ES 與 Kibana

    Docker容器與虛擬化技術(shù):OpenEuler 部署 ES 與 Kibana

    目錄 一、實驗 1.環(huán)境 2.OpenEuler 部署 ES (EalasticSearch) 3.OpenEuler 部署 Kibana 4.部署 Elasticvue插件 5.使用cpolar內(nèi)網(wǎng)穿透 6.使用Elasticvue (1)主機(jī) 表1? 主機(jī) 系統(tǒng) 架構(gòu) 版本 IP 備注 Linux openEuler 22.03 LTS SP2 192.168.204.145(動態(tài)) 192.168.204.141(靜態(tài)) 192.168.204.142(靜態(tài)) docker 25.0.3 cpolar

    2024年04月17日
    瀏覽(28)
  • Docker從認(rèn)識到實踐再到底層原理(二-1)|容器技術(shù)發(fā)展史+虛擬化容器概念和簡介

    Docker從認(rèn)識到實踐再到底層原理(二-1)|容器技術(shù)發(fā)展史+虛擬化容器概念和簡介

    那么這里博主先安利一些干貨滿滿的專欄了! 首先是博主的高質(zhì)量博客的匯總,這個專欄里面的博客,都是博主最最用心寫的一部分,干貨滿滿,希望對大家有幫助。 高質(zhì)量博客匯總 然后就是博主最近最花時間的一個專欄《Docker從認(rèn)識到實踐再到底層原理》希望大家多多關(guān)

    2024年02月09日
    瀏覽(45)
  • CNStack 虛擬化服務(wù):實現(xiàn)虛擬機(jī)和容器資源的共池管理

    CNStack 虛擬化服務(wù):實現(xiàn)虛擬機(jī)和容器資源的共池管理

    容器無疑已經(jīng)成為新的云計算基礎(chǔ)設(shè)施,企業(yè)私有云平臺的建設(shè)重心,正在從虛擬化的計算、存儲、網(wǎng)絡(luò)的建設(shè),轉(zhuǎn)向構(gòu)建以容器、微服務(wù)等為核心的云原生平臺。不過值得注意的是,企業(yè) IT 系統(tǒng)在進(jìn)行容器化改造的過程中,由于歷史遺留系統(tǒng)、技術(shù)債務(wù)、內(nèi)核依賴等原因,

    2024年01月25日
    瀏覽(62)
  • 【云計算學(xué)習(xí)教程】云計算虛擬化技術(shù)和容器技術(shù)詳解_云計算虛擬化技術(shù)與容器技術(shù)

    【云計算學(xué)習(xí)教程】云計算虛擬化技術(shù)和容器技術(shù)詳解_云計算虛擬化技術(shù)與容器技術(shù)

    這跟交通網(wǎng)絡(luò)很相似,連接兩個城市的交通網(wǎng)絡(luò)具備的第一個功能就是汽車從一個城市到達(dá)另一個城市;第二個功能是控制到底走哪條線路最好。前者就是由公路組成的交通網(wǎng)絡(luò),后者就是交通控制系統(tǒng)。 下面我們再來看看傳統(tǒng)的網(wǎng)絡(luò)設(shè)備(比如一臺路由器)的邏輯分層結(jié)構(gòu)

    2024年04月22日
    瀏覽(37)
  • 虛擬化和容器技術(shù)綜合實驗

    虛擬化和容器技術(shù)綜合實驗

    一、VMware workstation虛擬化平臺的搭建和使用 在VMware workstation中創(chuàng)建虛擬機(jī)并安裝CentOS。 完成虛擬機(jī)的網(wǎng)絡(luò)配置,添加1塊網(wǎng)絡(luò)適配器,第一塊網(wǎng)絡(luò)適配器采用橋接的方式接入網(wǎng)絡(luò),第二塊采用NAT的方式接入網(wǎng)絡(luò),并配置固定IP地址,使得虛擬機(jī)能夠ping通物理機(jī)并訪問外網(wǎng)。

    2024年02月03日
    瀏覽(30)
  • 虛擬化容器化與docker

    虛擬化容器化與docker

    物理機(jī) : 實際的服務(wù)器或者計算機(jī)。相對于虛擬機(jī)而言的對實體計算機(jī)的稱呼。物理機(jī)提供給虛擬機(jī)以硬件環(huán)境,有時也稱為“寄主”或“宿主”。 虛擬化 :是指通過虛擬化技術(shù)將一臺計算機(jī)虛擬為多臺邏輯計算機(jī)。在一臺計算機(jī)上同時運行多個邏輯計算機(jī),每個邏輯計算

    2024年02月16日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包