欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Dockerswarm的部署

docker swarm 簡(jiǎn)介

Swarm是Docker公司推出的用來(lái)管理docker集群的平臺(tái),幾乎全部用GO語(yǔ)言來(lái)完成的開(kāi)發(fā)的,代碼開(kāi)源在https://github.com/docker/swarm, 它是將一群Docker宿主機(jī)變成一個(gè)單一的虛擬主機(jī),Swarm使用標(biāo)準(zhǔn)的Docker API接口作為其前端的訪問(wèn)入口,換言之,各種形式的Docker

創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)哈巴河,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

Client(compose,docker-py等)均可以直接與Swarm通信,甚至Docker本身都可以很容易的與Swarm集成,這大大方便了用戶將原本基于單節(jié)點(diǎn)的系統(tǒng)移植到Swarm上,同時(shí)Swarm內(nèi)置了對(duì)Docker網(wǎng)絡(luò)插件的支持,用戶也很容易的部署跨主機(jī)的容器集群服務(wù)。

Swarm的基本架構(gòu)如下圖所示:
Docker swarm的部署

Docker Swarm 優(yōu)點(diǎn)

任何規(guī)模都有高性能表現(xiàn) 對(duì)于企業(yè)級(jí)的 Docker Engine 集群和容器調(diào)度而言,可拓展性是關(guān)鍵。任何規(guī)模的公司——不論是擁有五個(gè)還是上千個(gè)服務(wù)器——都能在其環(huán)境下有效使用 Swarm。 經(jīng)過(guò)測(cè)試,Swarm 可拓展性的極限是在 1000 個(gè)節(jié)點(diǎn)上運(yùn)行 50000 個(gè)部署容器,每個(gè)容器的啟動(dòng)時(shí)間為亞秒級(jí),同時(shí)性能無(wú)減損。

靈活的容器調(diào)度

Swarm 幫助 IT 運(yùn)維團(tuán)隊(duì)在有限條件下將性能表現(xiàn)和資源利用最優(yōu)化。Swarm 的內(nèi)置調(diào)度器(scheduler)支持多種過(guò)濾器,包括:節(jié)點(diǎn)標(biāo)簽,親和性和多種容器部策略如 binpack、spread、random 等等。

服務(wù)的持續(xù)可用性

Docker Swarm 由 Swarm Manager 提供高可用性,通過(guò)創(chuàng)建多個(gè) Swarm master 節(jié)點(diǎn)和制定主 master 節(jié)點(diǎn)宕機(jī)時(shí)的備選策略。如果一個(gè) master 節(jié)點(diǎn)宕機(jī),那么一個(gè) slave 節(jié)點(diǎn)就會(huì)被升格為 master 節(jié)點(diǎn),直到原來(lái)的 master 節(jié)點(diǎn)恢復(fù)正常。 此外,如果某個(gè)節(jié)點(diǎn)無(wú)法加入集群,Swarm 會(huì)繼續(xù)嘗試加入,并提供錯(cuò)誤警報(bào)和日志。在節(jié)點(diǎn)出錯(cuò)時(shí),Swarm 現(xiàn)在可以嘗試把容器重新調(diào)度到正常的節(jié)點(diǎn)上去。

和 Docker API 及整合支持的兼容性

Swarm 對(duì) Docker API 完全支持,這意味著它能為使用不同 Docker 工具(如 Docker CLI,Compose,Trusted Registry,Hub 和 UCP)的用戶提供無(wú)縫銜接的使用體驗(yàn)。

Docker Swarm 為 Docker 化應(yīng)用的核心功能(諸如多主機(jī)網(wǎng)絡(luò)和存儲(chǔ)卷管理)提供原生支持

開(kāi)發(fā)的 Compose 文件能(通過(guò) docker-compose up )輕易地部署到測(cè)試服務(wù)器或 Swarm 集群上。Docker Swarm 還可以從 Docker Trusted Registry 或 Hub 里 pull 并 run 鏡像。

一. 實(shí)驗(yàn)環(huán)境

主機(jī)IP地址服務(wù)
docker01192.168.1.11swarm+service+webUI+registry
docker02192.168.1.13docker
docker03192.168.1.20docker

三臺(tái)主機(jī)都關(guān)閉防火墻,禁用selinux,修改主機(jī)名,時(shí)間同步,并添加域名解析。

docker版本必須是:v1.12版本開(kāi)始(可使用docker version查看版本)

1.關(guān)閉防火墻,禁用selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# hostnamectl set-hostname docker03
[root@localhost ~]# su -

2.時(shí)間同步

mv /etc/localtime /etc/localtime.bk
cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime

3.修改主機(jī)名(三臺(tái)都要)

[root@localhost ~]# hostnamectl set-hostname docker01
[root@localhost ~]# su -

4.添加域名解析

[root@docker01 ~]# echo 192.168.1.11 docker01 >> /etc/hosts
[root@docker01 ~]# echo 192.168.1.13 docker02 >> /etc/hosts
[root@docker01 ~]# echo 192.168.1.20 docker03 >> /etc/hosts

二. docker01 初始化集群

[root@docker01 ~]# docker swarm init --advertise-addr 192.168.1.11

--advertise-addr:指定與其它docker通信的地址。

上邊返回的結(jié)果告訴我們:初始化成功,并且,如果想要添加work節(jié)點(diǎn)運(yùn)行下面的命令:

Docker swarm的部署

注意:token令牌只有24小時(shí)的有效期

如果想要添加manager節(jié)點(diǎn):運(yùn)行下面命令

Docker swarm的部署

三,docker02和docker03以worker加入集群

[root@docker03 ~]# docker swarm join --token SWMTKN-1-5kxn9wloh7npnytklwbfciesr9di7uvu521gwnqm9h2n0pbokj-1e60wt0yr5583e4mzwbxnn3a8 192.168.1.11:2377
docker01查看集群
[root@docker01 ~]# docker node ls

Docker swarm的部署
*注意:這里的”****“代表的是當(dāng)前所屬的節(jié)點(diǎn)

四.設(shè)置manager node(docker01)不參加工作

[root@docker01 ~]# docker node update docker01 --availability drain

設(shè)置主機(jī)docker01以后不運(yùn)行容器,但已經(jīng)運(yùn)行的容器并不會(huì)停止
“--availability”選項(xiàng)后面共有三個(gè)選項(xiàng)可配置,如下:
“active”:工作;“pause”:暫時(shí)不工作;“drain”:永久性的不工作

[root@docker01 ~]# docker node ls

Docker swarm的部署

五. docker01部署一個(gè)圖形化webUI界面

1.docker01 導(dǎo)入鏡像

[root@docker01~]# docker pull dockersamples/visualizer

2.基于鏡像啟動(dòng)一臺(tái)容器

[root@docker01 ~]# docker run -d -p 8080:8080 -e HOST=192.168.1.100 -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock --name visualiaer  dockersamples/visualizer

3.通過(guò)瀏覽器訪問(wèn)驗(yàn)證http://192.168.1.11:8080/

Docker swarm的部署

如果訪問(wèn)不到網(wǎng)頁(yè),需開(kāi)啟路由轉(zhuǎn)發(fā)

[root@docker01 ~]# echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf 
[root@docker01 ~]# sysctl -p

六. Docker01部署一個(gè)私有倉(cāng)庫(kù)

Docker01部署

72 docker pull registry
//下載registry鏡像

73 docker run -itd --name registry -p 5000:5000 --restart=always registry:latest
//基于registry鏡像,啟動(dòng)一臺(tái)容器

78 vim /usr/lib/systemd/system/docker.service #13行修改
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.11:5000 

80 systemctl daemon-reload
81 systemctl restart docker.service
//重啟docker

76 docker tag busybox:latest 192.168.1.11:5000/busybox:v1 
//把容器重命名一個(gè)標(biāo)簽

77 docker ps

Docker swarm的部署

78 vim /usr/lib/systemd/system/docker.service #13行修改
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.11:5000 

80 systemctl daemon-reload
81 systemctl restart docker.service
//重啟docker

100 docker push 192.168.1.11:5000/busybox:v1
//上傳容器到私有倉(cāng)庫(kù)

Docker02和docker03加入私有倉(cāng)庫(kù)

78 vim /usr/lib/systemd/system/docker.service #13行修改
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.11:5000  

80 systemctl daemon-reload
81 systemctl restart docker.service
//重啟docker

99 docker pull 192.168.1.11/busybox:v1
//測(cè)試下載

七. 自定義鏡像

要求:基于httpd鏡像,更改訪問(wèn)界面內(nèi)容。鏡像tag版本為v1,v2,v3,對(duì)應(yīng)主機(jī)面內(nèi)容為v1,xgp666、v2,xgp666、v2,xgp666

[root@docker01 ~]# docker pull httpd
//下載httpd鏡像

創(chuàng)建三個(gè)測(cè)試目錄

[root@docker01 ~]# mkdir {v1,v2,v3}
//創(chuàng)建測(cè)試目錄

docker01,v1目錄操作

[root@docker01 ~]# cd v1
[root@docker01 v1]# echo v1,xgp666 > index.html
//創(chuàng)建測(cè)試網(wǎng)頁(yè)

[root@docker01 v1]# vim Dockerfile
//編寫(xiě)Dockerfile
FROM httpd
ADD index.html /usr/local/apache2/htdocs/index.html

[root@docker01 v1]# docker build -t 192.168.1.11:5000/httpd:v1 .
//基于dockerfile創(chuàng)建鏡像

[root@docker01 v1]# docker push  192.168.1.11:5000/httpd:v1
//上傳剛剛創(chuàng)建鏡像到私有倉(cāng)庫(kù)

docker01,v2目錄操作

[root@docker01 v1]# cd ../v2
[root@docker01 v2]# echo v2,xgp666 > index.html

[root@docker01 v2]# vim Dockerfile 
//編寫(xiě)Dockerfile
FROM httpd
ADD index.html /usr/local/apache2/htdocs/index.html

[root@docker01 v2]# docker build -t 192.168.1.11:5000/httpd:v2 .
//基于dockerfile創(chuàng)建鏡像

[root@docker01 v2]# docker push  192.168.1.11:5000/httpd:v2
//上傳剛剛創(chuàng)建鏡像到私有倉(cāng)庫(kù)

docker01,v3目錄操作

[root@docker01 v1]# cd ../v3
[root@docker01 v2]# echo v3,xgp666 > index.html

[root@docker01 v2]# vim Dockerfile 
//編寫(xiě)Dockerfile
FROM httpd
ADD index.html /usr/local/apache2/htdocs/index.html

[root@docker01 v2]# docker build -t 192.168.1.11:5000/httpd:v3 .
//基于dockerfile創(chuàng)建鏡像

[root@docker01 v2]# docker push  192.168.1.11:5000/httpd:v3
//上傳剛剛創(chuàng)建鏡像到私有倉(cāng)庫(kù)

八. 發(fā)布一個(gè)服務(wù),基于上述鏡像

要求:副本數(shù)量為3個(gè)。服務(wù)的名稱(chēng)為: bdqn

[root@docker01 v3]# docker service create --replicas 3 --name bdqn  -p 80:80 192.168.1.11:5000/httpd:v1

查看一下網(wǎng)絡(luò)

[root@docker03 ~]# docker network ls

Docker swarm的部署

默認(rèn)的Ingress網(wǎng)絡(luò),包括創(chuàng)建的自定義overlay網(wǎng)絡(luò), 為后端真正為用戶提供服務(wù)的container,提供了一個(gè)統(tǒng)一的入口。

service 通過(guò) ingress load balancing 來(lái)發(fā)布服務(wù),且 swarm 集群中所有 node 都參與到 ingress 路由網(wǎng)格(ingress routing mesh) 中,訪問(wèn)任意一個(gè) node+PublishedPort 即可訪問(wèn)到服務(wù)。

當(dāng)訪問(wèn)任何節(jié)點(diǎn)上的端口80時(shí),Docker將您的請(qǐng)求路由到活動(dòng)容器。在群節(jié)點(diǎn)本身,端口80可能并不實(shí)際綁定,但路由網(wǎng)格知道如何路由流量,并防止任何端口沖突的發(fā)生。

路由網(wǎng)格在發(fā)布的端口上監(jiān)聽(tīng)分配給節(jié)點(diǎn)的任何IP地址。對(duì)于外部可路由的IP地址,該端口可從主機(jī)外部獲得。對(duì)于所有其他IP地址,只能從主機(jī)內(nèi)部訪問(wèn)。

查看一下創(chuàng)建的副本

[root@docker01 v3]# docker service ps bdqn

Docker swarm的部署

瀏覽器測(cè)試訪問(wèn)http://192.168.1.11:80,http://192.168.1.13:80,http://192.168.1.20:80

Docker swarm的部署

修改docker02和docker03測(cè)試網(wǎng)頁(yè)內(nèi)容

docker02

[root@docker02 ~]# docker exec -it 388f3bd9dd33 /bin/bash
root@388f3bd9dd33:/usr/local/apache2# cd htdocs/
root@388f3bd9dd33:/usr/local/apache2/htdocs# echo 123 > index.html 

docker03

[root@docker03 ~]# docker exec -it 281454867fac /bin/bash
root@281454867fac:/usr/local/apache2# echo 321 > htdocs/index.html 

測(cè)試訪問(wèn)(每一臺(tái)都會(huì)顯示,會(huì)負(fù)載均衡

Docker swarm的部署

要求:副本數(shù)量為3個(gè)。服務(wù)的名稱(chēng)為:test

[root@docker01 v3]# docker service create --replicas 3 --name test  -p 80  192.168.1.11:5000/httpd:v1

查看創(chuàng)建的服務(wù)映射端口

[root@docker01 v3]# docker service ls

Docker swarm的部署

默認(rèn)映射端口30000-32767

九. 服務(wù)的擴(kuò)容與縮容

擴(kuò)容

[root@docker01 v3]# docker service scale bdqn=6

縮容

[root@docker01 v3]# docker service scale bdqn=4

擴(kuò)容與縮容直接直接通過(guò)scale進(jìn)行設(shè)置副本數(shù)量。

十.服務(wù)的升級(jí)與回滾

(1)升級(jí)

docker service upadte 命令參數(shù)詳解

--force 強(qiáng)制更新重啟服務(wù),無(wú)論是否配置或鏡像改變都更新
--image <image:tag> 制定更新的鏡像
--with-registry-auth 向 Swarm 代理發(fā)送 Registry 認(rèn)證詳細(xì)信息,私有倉(cāng)庫(kù)需要攜帶該參數(shù)

[root@docker01 ~]# docker service update --image 192.168.1.11:5000/httpd:v2 bdqn
//把bdqn服務(wù)升級(jí)成v2的版本
測(cè)試訪問(wèn)一下

Docker swarm的部署

(2)平滑的更新

[root@docker01 ~]# docker service update --image 192.168.1.11:5000/httpd:v3  --update-parallelism 2 --update-delay 1m bdqn 
//兩個(gè)服務(wù)一起更新,然后,隔一分鐘,繼續(xù)更新

默認(rèn)情況下, swarm-次只更新-個(gè)副本,并且兩個(gè)副本之間沒(méi)有等待時(shí)間,我們可以通過(guò)
--update-parallelism;設(shè)置并行更新的副本數(shù)量。
--update-delay:指定滾動(dòng)更新的時(shí)間間隔。

測(cè)試訪問(wèn)一下

Docker swarm的部署

(3) 回滾操作

[root@docker01 ~]# docker service  rollback bdqn 

注意,docker swarm的回滾操作,默認(rèn)只能回滾到上一-次操作的狀態(tài),并不能連續(xù)回滾到指定操作。

測(cè)試訪問(wèn)一下

Docker swarm的部署

十一,注意:

如果一臺(tái)機(jī)器啟用多個(gè)服務(wù)注意,合理分配cpu與內(nèi)存資源,因tomcat在啟動(dòng)編譯時(shí)會(huì)很吃內(nèi)存,且docker是多線程啟動(dòng)的,所有最好是限定一下(設(shè)置resources.limits)否者會(huì)導(dǎo)致內(nèi)存在同一時(shí)刻用光,某些服務(wù)啟動(dòng)失敗當(dāng)然也可是設(shè)置出錯(cuò)重啟(restart_policy.condition:on-failure),另外設(shè)置resources.reservations要注意,不要超出總內(nèi)存或cpu百分比,否者會(huì)導(dǎo)致后面服務(wù)無(wú)法獲取cpu或內(nèi)存資源出現(xiàn)“no suitable node (insufficien”錯(cuò)誤(這個(gè)錯(cuò)誤很奇怪,某個(gè)service不啟動(dòng),也不輸出日志,使用“docker stack ps [xxxx]”查看狀態(tài)會(huì)顯示此錯(cuò)誤)無(wú)法啟動(dòng)

分享題目:Dockerswarm的部署
本文路徑:http://aaarwkj.com/article42/giphec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、品牌網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、網(wǎng)站制作、小程序開(kāi)發(fā)網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
蜜臀av网站在线播放| 伊人久久精品一区二区| 精品在线中文字幕不卡| 中高龄夫妇五十路六十路| 国语自产拍在线观看不卡| 国产精品免费看片网站| 国产精品精品国产一区二区| 国产成人国产精品国产三级| 亚洲乱码一区二区三区人妇| 东京热男人的av天堂| 久久精品中文字幕人妻| 亚洲在线免费播放视频| 亚洲精品紧身裙女教师av| 成人午夜性色福利视频| 国产激情小网站免费看| 麻豆av永久地址久久精品| 欧美国产成人精品一区| 精品女同一区二区三区久久| 日韩中字在线一区二区| 国产一区二区三区百合| 日本成人午夜福利电影| 91精品人妻一区二区| 亚洲国产精品视频中文字幕| 91免费人成网站在线观看| 丝袜亚洲激情欧美日韩偷拍| 色吊丝日韩在线观看| 色呦呦视频在线免费观看| 欧美日韩一区二区三区在线| 国产精品va在线观看入口| 欧美国产日韩一区在线观看| 一区二区三区国产激情| 91青青草原免费观看| 欧美激情性国产精品潮| 国产婷婷综合一区二区| 人人妻人人澡人人爽人人dvd| 精品人妻aⅴ一区二区| 欧美日韩一区二区激情在线| 天天操天天夜夜操夜夜| 日本一道本不卡一区二区| 亚洲三级av在线播放| 日日狠狠久久偷偷综合色|