成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 詳解基于docker-swarm搭建持續(xù)集成集群服務(wù)

詳解基于docker-swarm搭建持續(xù)集成集群服務(wù)

熱門(mén)標(biāo)簽:400電話申請(qǐng)要什么條件 話術(shù)外呼系統(tǒng) 廣東如何申請(qǐng)400電話 燃?xì)夤芫€地圖標(biāo)注顏色 寧波400電話辦理對(duì)企業(yè)的意義 北京人工外呼系統(tǒng)廠家 i智能電話機(jī)器人yeta 西柏坡地圖標(biāo)注 哈爾濱400電話去哪辦理

前言

本文只為自己搭建過(guò)程中的一些簡(jiǎn)單的記錄。如果實(shí)踐中有疑問(wèn),可以一起探討。

為了能在本機(jī)(macOS)模擬集群環(huán)境,使用了vb和docker-machine。整體持續(xù)集成的幾個(gè)機(jī)器設(shè)施如下:

1、服務(wù)節(jié)點(diǎn):三個(gè)manager節(jié)點(diǎn),一個(gè)worker節(jié)點(diǎn)。manager需要占用更多的資源,manager配置盡量高一些。swarm的manager節(jié)點(diǎn)的容錯(cuò)率是 (N-1)/2 。N是manager節(jié)點(diǎn)數(shù)。也就是如果有3個(gè)manager,那就能容忍一個(gè)manager節(jié)點(diǎn)掛掉。官方的算法說(shuō)明:Raft consensus in swarm mode。

2、本地的鏡像倉(cāng)庫(kù) registry:用來(lái)存儲(chǔ)所有需要部署的服務(wù)docker鏡像。

https://docs.docker.com/registry/deploying/

因?yàn)槭褂胹warm機(jī)制,所以不需要在服務(wù)間通信問(wèn)題考慮服務(wù)發(fā)現(xiàn)以及負(fù)載均衡的問(wèn)題(代替原有的consul&registor方式)。

3、構(gòu)建鏡像的運(yùn)維節(jié)點(diǎn) ops:

也即運(yùn)維機(jī)器。一個(gè)獨(dú)立的節(jié)點(diǎn)即可。主要負(fù)責(zé)build鏡像,push鏡像。在ops里可以構(gòu)建gitlab的私庫(kù)。維護(hù)構(gòu)建腳本。機(jī)器所需配置不高,對(duì)網(wǎng)絡(luò)寬帶還是盡量多一些。

用docker-machine 模擬集群環(huán)境

創(chuàng)建registry節(jié)點(diǎn)

docker-machine create -d virtualbox --virtualbox-memory "512" registry 

–engine-registry-mirror 這個(gè)參數(shù)是可以設(shè)置一些加速倉(cāng)庫(kù)的地址。

創(chuàng)建manager,worker節(jié)點(diǎn)

manager

復(fù)制代碼 代碼如下:
docker-machine create -d virtualbox --virtualbox-memory "800"  manager1
    

worker:

docker-machine create -d virtualbox --virtualbox-memory "800" worker1 
docker-machine create -d virtualbox --virtualbox-memory "800" worker2 
docker-machine create -d virtualbox --virtualbox-memory "800" worker3 

創(chuàng)建ops 節(jié)點(diǎn)

docker-machine create -d virtualbox --virtualbox-memory "512" ops 

查看機(jī)器列表狀態(tài)

docker-machine ls 

創(chuàng)建registry服務(wù)

登錄到registry機(jī)器上。

docker-machine ssh registry

創(chuàng)建一個(gè)registry服務(wù)。

docker run -d -p 5000:5000 --restart=always --name registry \

 -v `pwd`/data:/var/lib/registry \

 registry:2

命令設(shè)置了-v volumn選項(xiàng),這樣在每次容器服務(wù)重啟的時(shí)候,不會(huì)丟失已經(jīng)pull的鏡像數(shù)據(jù)。registry,mysql等存儲(chǔ)類(lèi)型的容器,建議設(shè)置一下volumn.如果為了更好的擴(kuò)展,也可以將鏡像倉(cāng)庫(kù)備份到其他driver里,如阿里云的OSS.

運(yùn)行docker ps就可以看到一個(gè)啟動(dòng)好的registry服務(wù)。當(dāng)然,為了更好的擴(kuò)展,也可以掛載在自己的域名下,重新run 的時(shí)候添加認(rèn)證信息。

為了更方便管理容器,可以使用docker-compose 組件。安裝:

復(fù)制代碼 代碼如下:
curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 

也可以寫(xiě)好compose文件之后直接啟動(dòng):

docker-compose up -d

本地倉(cāng)庫(kù)push鏡像

現(xiàn)在可以嘗試?yán)粋€(gè)鏡像,然后tag到本地的registry倉(cāng)庫(kù),如

復(fù)制代碼 代碼如下:
docker pull lijingyao0909/see:1.0.3 && docker tag lijingyao0909/see:1.0.3 localhost:5000/see:1.0.3

然后再執(zhí)行push 命令:

docker push localhost:5000/see:1.0.3

這個(gè)鏡像就push到了registry服務(wù)中,最直接的方式可以通過(guò)查看本地的volumn目錄,如本例中的 data目錄查看到鏡像數(shù)據(jù)。
如果為了更方便的可視化管理registry,也可以試用下registry UI 相關(guān)的鏡像如hyper/docker-registry-web。

復(fù)制代碼 代碼如下:
docker run -it -p 8080:8080 --name registry-web --link registry-srv -e REGISTRY_URL=http://registry-srv:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web

然后訪問(wèn) hostname:5000/registory/index可以看到簡(jiǎn)單的鏡像列表UI。

https 問(wèn)題

在本地測(cè)試時(shí)如果執(zhí)行以上步驟,在push,或者在其他vb中pull鏡像時(shí)遇到以下問(wèn)題:

Error response from daemon: Get https://registry:5000/v1/_ping: dial tcp 218.205.57.154:5000: i/o timeout

處理方式是,修改registry的認(rèn)證,如下先修改“/var/lib/boot2docker/profile”:

sudo vi /var/lib/boot2docker/profile

添加

DOCKER_OPTS="--insecure-registry <host-name>:5000"
DOCKER_OPTS="--insecure-registry registry:5000"

因?yàn)閞egistry的hostname就是 registry。所以執(zhí)行docker ifno命令可以看到:

Insecure Registries:
 registry:5000
 127.0.0.0/8 

同時(shí),在其他的worker機(jī)器,manager機(jī)器也需要修改–insecure-registry屬性,才可以pull私庫(kù)的鏡像。修改之后需重新restart vb。

重啟后,在manager重新嘗試pull

docker pull registry:5000/see:1.0.3 

 可以看到成功連接倉(cāng)庫(kù)并拉取鏡像。注意,本示例使用的是機(jī)器名,registry,而不是IP地址。所以,在拉取鏡像的時(shí)候,需在各自的vb 的etc/hosts文件配置ip和機(jī)器名的映射。用機(jī)器名的方式比較操作易記。當(dāng)然最好的方式還是通過(guò)域名訪問(wèn)倉(cāng)庫(kù)。

參考資源

部署registry服務(wù)

創(chuàng)建ops服務(wù)

swarm的服務(wù)集群會(huì)直接從registry上pull鏡像,直接啟動(dòng)應(yīng)用的service服務(wù)。服務(wù)的鏡像直接打在registry倉(cāng)庫(kù)中,但是源碼可以維護(hù)在ops機(jī)器上。前面創(chuàng)建的ops的virtual-box,可以部署gitlab服務(wù)。啟動(dòng)參數(shù)可以參考Deploy GitLab Docker images

先pull一個(gè)gitlab鏡像

docker run --detach \

 --hostname gitlab.lijingyao.com \

 --publish 443:443 --publish 80:80 --publish 22:22 \

 --name gitlab \

 --restart always \

 --volume `pwd`/gitlab/config:/etc/gitlab \

 --volume `pwd`/gitlab/logs:/var/log/gitlab \

 --volume `pwd`/gitlab/data:/var/opt/gitlab \

 gitlab/gitlab-ce:8.14.4-ce.0

使用git私庫(kù)

因綁定了80端口,啟動(dòng)gitlab后訪問(wèn):http://machine-host/

第一次進(jìn)入gitlab會(huì)自動(dòng)跳轉(zhuǎn)到重置密碼??梢栽O(shè)置一個(gè)新的密碼,這個(gè)是root賬號(hào)的密碼。后續(xù)就可以注冊(cè)其他git用戶使用了。
這里,如果申請(qǐng)了域名服務(wù),或者本地綁定gitlab.lijingyao.com 到這個(gè)virtualbox的ip地址,就可以直接訪問(wèn)gitlab.lijingyao.com地址。在實(shí)際生產(chǎn)環(huán)境有固定公網(wǎng)ip,自己的dns服務(wù),就不需要綁定host。這里只是本地測(cè)試,所以暫時(shí)就通過(guò)綁定host的方式。

swarm

本例中的服務(wù)是一個(gè)簡(jiǎn)單的springboot 和gradle的工程,服務(wù)鏡像可以在docker hub pull,see service image。打包好鏡像后,直接在gradle task中push到registry倉(cāng)庫(kù)中。在本地環(huán)境可以直接在工程目錄里執(zhí)行。gradle task然后push到vb的registry中,再在registry 倉(cāng)庫(kù)pull鏡像即可?,F(xiàn)在開(kāi)始準(zhǔn)備初始化swarm 集群。

現(xiàn)在整個(gè)vb 集群的機(jī)器,查看如下:

$docker-machine ls

NAME  ACTIVE DRIVER  STATE  URL       SWARM DOCKER ERRORS
haproxy -  virtualbox Running tcp://192.168.99.103:2376   v1.12.3 
manager1 -  virtualbox Running tcp://192.168.99.100:2376   v1.12.3 
ops  -  virtualbox Running tcp://192.168.99.106:2376   v1.12.3 
registry -  virtualbox Running tcp://192.168.99.107:2376   v1.12.3 
worker1 -  virtualbox Running tcp://192.168.99.101:2376   v1.12.3 
worker2 -  virtualbox Running tcp://192.168.99.102:2376   v1.12.3 
worker3 -  virtualbox Running tcp://192.168.99.105:2376   v1.12.3 

然后用docker-machine ssh manager1登陸到manager1機(jī)器上。

初始化swarm manager節(jié)點(diǎn)

在manager1 機(jī)器上初始化swarm,這個(gè)初始化的機(jī)器就是swarm的manager.執(zhí)行:

 docker swarm init --advertise-addr 192.168.99.100

會(huì)看到以下執(zhí)行輸出:

Swarm initialized: current node (03x5vnxmk2gc43i0d7xpycvjg) is now a manager.

To add a worker to this swarm, run the following command:

 docker swarm join \

 --token SWMTKN-1-5ru6lyco3upj7oje6hidug3erqczok84wk7bekzfaca4uv51r9-22bcjhkbxnclmw3nl3ui8601l \

 192.168.99.100:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

這個(gè)生成的token值,是其他swarm集群節(jié)點(diǎn)join到整個(gè)swarm的key。如果忘記了token,可以在manager1上執(zhí)行:

$docker swarm join-token manager 

來(lái)查看目前的token值。官方建議至少6個(gè)月更換以下token。更換命令:

$docker swarm join-token --rotate worker 

添加worker節(jié)點(diǎn)

分別登錄 worker1,worker2,worker3,執(zhí)行join命令。

在join之前,先查看下docker 網(wǎng)絡(luò)設(shè)施。執(zhí)行

$ docker network ls
NETWORK ID   NAME    DRIVER    SCOPE
4b7fe1416322  bridge    bridge    local    
06ab6f3352b0  host    host    local    
eebd5c8e0d5d  none    null    local 

按照manager1 初始化之后的命令,執(zhí)行:

docker swarm join \

 --token SWMTKN-1-5ru6lyco3upj7oje6hidug3erqczok84wk7bekzfaca4uv51r9-22bcjhkbxnclmw3nl3ui8601l \

 192.168.99.100:2377

此時(shí)在任何worker節(jié)點(diǎn)再執(zhí)行docker network ls 即可看到多了一個(gè)overlay的覆蓋范圍為swarm的網(wǎng)絡(luò)通道。

三個(gè)worker都加入之后,在manager1 上即可看到manager的node節(jié)點(diǎn)情況

docker node ls
ID       HOSTNAME STATUS AVAILABILITY MANAGER STATUS
03x5vnxmk2gc43i0d7xpycvjg * manager1 Ready Active  Leader  
2y5wrndibe8c8sqv6851vrlgp worker1 Ready Active  Reachable
dwgol1uinkpsybigc1gm5jgsv worker2 Ready Active  
etgyky6zztrapucm59yx33tg1 worker3 Ready Active  Reachable

manager status的Reachable狀態(tài)表示該節(jié)點(diǎn)也是manager節(jié)點(diǎn)。這是因?yàn)槲覀冊(cè)趙orker1,worker3分別執(zhí)行了

docker node promote worker1
docker node promote worker3

worker1,worker3此時(shí)也可以執(zhí)行swarm命令,在manager1關(guān)停時(shí),就會(huì)選舉其中之一作為新的leader。如果要去除node的manager狀態(tài),可以通過(guò)demote命令去除。執(zhí)行后,worker節(jié)點(diǎn)就變成普通的任務(wù)節(jié)點(diǎn)。

docker node demote worker1 worker3 

swarm節(jié)點(diǎn)的其他狀態(tài)

swarm節(jié)點(diǎn)可以設(shè)置drain狀態(tài),drain狀態(tài)的節(jié)點(diǎn)不會(huì)執(zhí)行任何service。

將某個(gè)node設(shè)置不可用:

docker node update --availability drain worker1 

Pause,Drain,Active三個(gè)狀態(tài),pause標(biāo)識(shí)有任務(wù)運(yùn)行,不接受新任務(wù)。

如果要將worker1 節(jié)點(diǎn)去除swarm中心,現(xiàn)在需被移除的節(jié)點(diǎn)(worker1)執(zhí)行:docker swarm leave 然后在manager上執(zhí)行:docker node rm worker1,即可移除一個(gè)swarm節(jié)點(diǎn)。

創(chuàng)建swarm服務(wù)

本例中使用swarm部署一個(gè)基于springboot的rest api服務(wù)。倉(cāng)庫(kù)的地址:springboot-restful-exam,創(chuàng)建的服務(wù)name是deftsee,綁定80端口,并且擴(kuò)展4個(gè)運(yùn)行容器服務(wù)。

docker service create \

 --replicas 4 \

 --name deftsee \

 --update-delay 10s \

 --publish 8080:80 \

 lijingyao0909/see:1.0.3

服務(wù)創(chuàng)建之后,可以查看服務(wù)節(jié)點(diǎn)的狀態(tài)

docker@manager1:~$ docker service ls
ID   NAME  REPLICAS IMAGE     COMMAND
a6s5dpsyz7st deftsee 4/4  lijingyao0909/see:1.0.3 

REPLICAS 代表服務(wù)的運(yùn)行容器數(shù),如果是0/4就代表所有服務(wù)都沒(méi)有起來(lái)。詳細(xì)查看各個(gè)節(jié)點(diǎn)運(yùn)行狀態(tài)可以用docker service ps servicename

docker@manager1:~$ docker service ps deftsee
ID       NAME  IMAGE     NODE  DESIRED STATE CURRENT STATE   ERROR
8lsdkf357lk0nmdeqk7bi33mp deftsee.1 lijingyao0909/see:1.0.3 worker2 Running  Running 5 minutes ago 
cvqm5xn7t0bveo4btfjsm04jp deftsee.2 lijingyao0909/see:1.0.3 manager1 Running  Running 7 minutes ago 
6s5km76w2vxmt0j4zgzi4xi5f deftsee.3 lijingyao0909/see:1.0.3 worker1 Running  Running 5 minutes ago 
4cl9vnkssedpvu2wtzu6rtgxl deftsee.4 lijingyao0909/see:1.0.3 worker3 Running  Running 6 minutes ago 

可以看到任務(wù)被平分到所有的四個(gè)任務(wù)節(jié)點(diǎn)運(yùn)行。下面再擴(kuò)容deftsee服務(wù)

docker@manager1:~$ docker service scale deftsee=6
deftsee scaled to 6
docker@manager1:~$ docker service ps deftsee
ID       NAME  IMAGE     NODE  DESIRED STATE CURRENT STATE   ERROR
8lsdkf357lk0nmdeqk7bi33mp deftsee.1 lijingyao0909/see:1.0.3 worker2 Running  Running 8 minutes ago 
cvqm5xn7t0bveo4btfjsm04jp deftsee.2 lijingyao0909/see:1.0.3 manager1 Running  Running 10 minutes ago 
6s5km76w2vxmt0j4zgzi4xi5f deftsee.3 lijingyao0909/see:1.0.3 worker1 Running  Running 8 minutes ago 
4cl9vnkssedpvu2wtzu6rtgxl deftsee.4 lijingyao0909/see:1.0.3 worker3 Running  Running 9 minutes ago 
71uv51uwvso4l340xfkbacp2i deftsee.5 lijingyao0909/see:1.0.3 manager1 Running  Running 5 seconds ago 
4r2q7q782ab9fp49mdriq0ssk deftsee.6 lijingyao0909/see:1.0.3 worker2 Running  Running 5 seconds ago 

lijingyao0909/see:1.0.3是dockerhub的公共倉(cāng)庫(kù)的鏡像,服務(wù)創(chuàng)建時(shí)會(huì)去pull鏡像,整體速度偏慢,所以可以結(jié)合私有倉(cāng)庫(kù),直接在registry機(jī)器上pull鏡像。服務(wù)可以直接用docker service rm deftsee移除服務(wù),然后通過(guò)registry重建服務(wù)。

docker service create \

 --replicas 6 \

 --name deftsee \

 --update-delay 10s \

 --publish 8080:80 \

 registry:5000/see:1.0.4

此時(shí)登錄任何一臺(tái)worker服務(wù),查看運(yùn)行的容器鏡像:

docker@worker2:~$ docker ps
CONTAINER ID  IMAGE      COMMAND     CREATED    STATUS    PORTS    NAMES
89d4f588290b  registry:5000/see:1.0.4 "/bin/sh -c 'java -Dc" About a minute ago Up About a minute 8080/tcp   deftsee.1.eldpgb1aqtf9v49cxolydfjm9

如果要更新服務(wù),可以直接通過(guò)update命令更新版本,并且服務(wù)滾動(dòng)發(fā)布,通過(guò)設(shè)置*–update-delay 10s *可以改變更新時(shí)各個(gè)節(jié)點(diǎn)的延遲時(shí)間。

docker service update --image registry:5000/see:1.0.5 deftsee

重啟某個(gè)node的服務(wù)

關(guān)閉:docker node update –availability drain worker1

開(kāi)啟:docker node update –availability active worker1

更新服務(wù)端口

更新一個(gè)服務(wù)的端口會(huì)重啟服務(wù)(關(guān)閉原有服務(wù),重新創(chuàng)建服務(wù)并啟動(dòng)):

 docker service update \

 --publish-add <PUBLISHED-PORT>:<TARGET-PORT> \

 <SERVICE>

docker@manager1:~$docker service update \

 --publish-add 8099:8080 \

 deftsee

docker@manager1:~$ docker service ps deftsee
ID       NAME   IMAGE     NODE  DESIRED STATE CURRENT STATE    ERROR
3xoe34msrht9eqv7eplnmlrz5 deftsee.1  registry:5000/see:1.0.4 manager1 Running  Running 39 seconds ago  
eldpgb1aqtf9v49cxolydfjm9 \_ deftsee.1 registry:5000/see:1.0.4 worker2 Shutdown  Shutdown 39 seconds ago  
9u4fh3mi5kxb14y6gih5d8tqv deftsee.2  registry:5000/see:1.0.4 manager1 Running  Running about a minute ago 
0skgr5fx4xtt6y71yliksoft0 \_ deftsee.2 registry:5000/see:1.0.4 worker1 Shutdown  Shutdown about a minute ago 
8hposdkqe92k7am084z6kt1j0 deftsee.3  registry:5000/see:1.0.4 worker3 Running  Running about a minute ago 
c5vhx1wx0q8mxaweaq0mia6n7 \_ deftsee.3 registry:5000/see:1.0.4 manager1 Shutdown  Shutdown about a minute ago 
9se1juxiinmetuaccgkjc3rr2 deftsee.4  registry:5000/see:1.0.4 worker1 Running  Running about a minute ago 
4wofho0axvrjildxhckl52s41 \_ deftsee.4 registry:5000/see:1.0.4 worker3 Shutdown  Shutdown about a minute ago 

服務(wù)驗(yàn)證和網(wǎng)絡(luò)

例子中的服務(wù)啟動(dòng)后,可以直接通過(guò)ip:port訪問(wèn)。如http://192.168.99.100:8099/see,可以看到服務(wù)請(qǐng)求會(huì)分發(fā)到各個(gè)運(yùn)行的節(jié)點(diǎn)中。也就是swarm的overlay網(wǎng)絡(luò)層,各個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)是互通的,swarm做了load balance,在swarm的lb的基礎(chǔ)上也可搭建自己定義的overlay網(wǎng)絡(luò),創(chuàng)建的這個(gè)overlay 網(wǎng)絡(luò),所有節(jié)點(diǎn)都可以和這個(gè)network互通。但是在服務(wù)創(chuàng)建的時(shí)候需要制定network選項(xiàng)。

$docker network create \

 --driver overlay \

 --subnet 10.0.9.0/24 \

 --opt encrypted \  
 my-network

$docker service create \

 --name deftsee \

 --publish 8099:80 \

 --replicas 4 \

 --network my-network \

 -l com.df.serviceDomain=deftsee.com \

 -l com.df.notify=true \

 lijingyao0909/see:1.0.3

–network my-network制定了服務(wù)可連接到的docker network,可以在swarm的節(jié)點(diǎn)創(chuàng)建一個(gè)name為my-network的網(wǎng)絡(luò)。所以也可以在swarm機(jī)制中搭建consul和haproxy的服務(wù)發(fā)現(xiàn)和lb機(jī)制。

當(dāng)為一個(gè)服務(wù)指定一個(gè)network的時(shí)候,swarm上執(zhí)行的任務(wù)也必須都在這個(gè)指定的網(wǎng)絡(luò)上才能和服務(wù)互通。如果節(jié)點(diǎn)上沒(méi)有加入到swarm模式的node中,或者沒(méi)有運(yùn)行掛載在這個(gè)指定網(wǎng)絡(luò)的時(shí)候,也不會(huì)和這個(gè)network互通.docker network ls也不會(huì)查出該網(wǎng)絡(luò)。創(chuàng)建服務(wù)時(shí)通過(guò)–network my-network這個(gè)標(biāo)簽鏈接到這個(gè)網(wǎng)絡(luò)。在查看網(wǎng)絡(luò)時(shí),docker network inspect my-network可以查看返回的Containers 列出的該節(jié)點(diǎn)的掛載容器。

創(chuàng)建了一個(gè)網(wǎng)絡(luò)服務(wù),有service連接到網(wǎng)絡(luò)時(shí),swarm會(huì)給這個(gè)網(wǎng)絡(luò)下的服務(wù)(service)指定一個(gè)vip. swarm 內(nèi)部的lb會(huì)自動(dòng)分發(fā)服務(wù),不需要指定每個(gè)服務(wù)端口,即在同一個(gè)network連接的容器,通過(guò)service name就可以訪問(wèn)到服務(wù)。因?yàn)樗屑尤氲竭@個(gè)network的容器都會(huì)通過(guò)gossip協(xié)議共享一個(gè)DNS映射(vip映射根據(jù)service name 綁定到的dns別名映射)。

查看服務(wù)的vip網(wǎng)絡(luò)信息:

$docker service inspect \

 --format='{{json .Endpoint.VirtualIPs}}' \

 deftsee

輸出:[{"NetworkID":"dn05pshfagohpebgonkhj5kxi","Addr":"10.255.0.6/16"}]

swarm管理

為了保持manager節(jié)點(diǎn)的可用性(心跳機(jī)制,leader選舉),可以將manager節(jié)點(diǎn)設(shè)置成不接受服務(wù)運(yùn)行,節(jié)省manager節(jié)點(diǎn)資源,將manager節(jié)點(diǎn)隔離出任務(wù)環(huán)境。

docker node update --availability drain <NODE>

備份/var/lib/docker/swarm/raft 狀態(tài)

清理不可用的節(jié)點(diǎn)

docker node demote <NODE> 
docker node rm <id-node>.

節(jié)點(diǎn)重新加入manager re-join

$docker node demote <NODE>.
$docker node rm <NODE>.
$docker swarm join ...

初始化的時(shí)候指定固定ip ,init –advertise-addr。worker節(jié)點(diǎn)可以用動(dòng)態(tài)ip 。

參考資源

Swarm mode

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:襄陽(yáng) 阜陽(yáng) 珠海 開(kāi)封 西藏 湘潭 巴中 張家口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解基于docker-swarm搭建持續(xù)集成集群服務(wù)》,本文關(guān)鍵詞  詳解,基于,docker-swarm,搭建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解基于docker-swarm搭建持續(xù)集成集群服務(wù)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于詳解基于docker-swarm搭建持續(xù)集成集群服務(wù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    精品对白一区国产伦| 69欧美性猛交| 999成人精品视频线3| 久久精品国产精品亚洲毛片| 55av亚洲| 日韩精品一区在线视频| 免费高清在线观看免费| 欧美日韩福利在线观看| 国产老熟女伦老熟妇露脸| 91xxx在线观看| 久久一日本道色综合久久| 久久久久久亚洲精品不卡| av资源网在线播放| 久久久久久久精| 伊人久久大香线蕉成人综合网| 精品一二三四五区| 欧美一区电影| 日韩视频在线免费| 日韩精品中文字幕第1页| av成人天堂| 亚洲国产成人精品久久| 97久久国产精品| 国产真人做爰视频免费| 国产精品欧美激情在线播放| 成人毛片免费看| 男的操女的网站| 色屁屁草草影院ccyycom| 国产视频第一页| 日本孕妇大胆孕交无码| 黄页免费在线观看| 亚洲精品国产电影| 麻豆视频官网| a级国产乱理论片在线观看99| 亚洲韩国精品一区| 亚洲一区二区三区无吗| 五十路在线视频| 亚洲日本国产| 少妇高潮av久久久久久| 久久久精品视频在线观看| 性一交一乱一色一免费无遮挡| 精品高清视频| 亚洲男人天堂久| 成人免费看片视频在线观看| 日本一区免费看| 国产一区二区三区在线观看网站| 亚洲精品福利| 久色成人在线| 欧美激情精品| 亚洲狠狠婷婷综合久久久久图片| 诱人的瑜伽老师3hd中字| 欧美大胆视频| 黄色三级视频在线播放| 亚洲天堂男人av| 7777精品伊人久久久大香线蕉完整版| 欧美韩一区二区| 精品久久久久久久久中文字幕| 欧美肥妇毛茸茸| 国产精品vvv| 欧美日韩一区二区综合| 性生活黄色大片| 国产一区二区免费| 欧美成人aaaaⅴ片在线看| 在线精品小视频| 中文字幕一区二区三区乱码不卡| 欧美极品在线播放| 亚洲精品中文字幕有码专区| 男女啪啪在线观看| h网站在线看| 理论不卡电影大全神| 国产伦精品一区二区三区视频我| 亚洲丝袜一区在线| 欧美羞羞视频| 国产黄色免费网| 国产成人精品视| 欧美人一级淫片a免费播放| 国产xxxxxx久色视频在| 久久99久久亚洲国产| 国产亚洲欧美精品久久久www| 国产片侵犯亲女视频播放| 国产精品中文字幕日韩精品| 欧美日韩一区二区三区在线看| 久久久久国产一区二区三区| 日本在线视频中文字幕| 亚洲精品乱码久久久久久日本蜜臀| 欧美视频在线第一页| 三级影片在线观看欧美日韩一区二区| 日韩精品高清在线观看| 999视频在线观看| 国产狂喷白浆在线观看视频| 色婷婷av一区二区三区在线观看| 成人免费在线电影网| 久久精品久久国产| 欧美老女人性生活| 免费黄色成年网站| 久久久男人的天堂| 成人羞羞网站入口免费| 欧美三级午夜理伦三级在线观看| 欧美高清视频一区| 激情综合网最新| 人人爱人人干婷婷丁香亚洲| 亚洲欧美国产视频| www.五月婷婷.com| 日韩av字幕| 欧美日韩视频网站| 欧美日韩一区在线观看视频| 国产成人福利在线| 久久综合五月婷婷| 国产视频精品久久久| 郴州新闻综合频道在线直播| 毛片视频网站在线观看| 久久亚洲电影天堂| 欧美超强性xxxxx| 精品国产一区二区三区久久影院| 欧美日韩国产在线一区| 激情五月婷婷久久| 青青操夜夜操| 亚洲国产精久久久久久久| 在线观看17c| 九九热国产视频| 欧美激情在线观看视频| 日本一卡二卡四卡精品| 午夜在线播放视频欧美| 国产黄色免费网站| 麻豆精品视频在线| avtt中文字幕| 国产成人高清激情视频在线观看| 久久精品国产大片免费观看| 青青青视频在线| 91麻豆成人精品国产免费网站| 日本欧美在线看| 日韩精品一区二区三区四区视频| 成人综合av网| ass大特写| 欧美激情一区二区三区在线| 欧洲美女少妇精品| 中文字幕在线视频精品| 欧美精品尤物在线| 漫画在线观看av| 性网站在线免费观看| 国产伦精品一区二区三区| 欧美男gay| 精品国产18久久久久久洗澡| 97在线观看视频国产| 女生裸体无遮挡天堂网站免费| 亚洲黄色中文字幕| 美女视频免费一区| 成人写真福利网| 蜜桃麻豆av在线| 中文字幕免费高清视频| 神马影院午夜我不卡影院| 尤物视频网址| 日韩欧美激情电影| 色综合一区二区| 国产免费a∨片在线观看不卡| 欧美色视频一区| 国产尤物精品| 欧美日韩国产另类不卡| 丰满亚洲少妇av| 中文字幕2022永久在线| 欧美三根一起进三p| 国产一级成人av| 女子免费在线观看视频www| 久久久久久成人精品| 亚洲国产成人va在线观看麻豆| 欧洲精品久久久久毛片完整版| 国内成人在线| 亚洲欧洲国产日韩| 国产福利不卡| 亚洲视频在线观看免费| 久久99精品久久久久久久青青日本| 久久久999| 欧美日韩综合一区二区三区| 国产福利精品一区| 亚洲欧美激情小说另类| 欧美丰满美乳xxⅹ高潮www| 国产精品毛片久久久久久| 日韩片电影在线免费观看| 久久久久久国产精品日本| 天天撸天天射| 免费看裸体网站| 日本xxxxxxx免费视频| 国产精品视频免费一区二区三区| 老鸭窝亚洲一区二区三区| 人人干人人爱人人爱| 欧美亚洲在线观看| 日韩成人18| 快播电影网址老女人久久| 青草综合视频| 黄页网站大全在线免费观看| 精品国产一区二区三区久久久蜜臀| 国产毛片在线看| 欧美mv日韩mv亚洲| 久久色成人在线| 伊人久久久久久久久久久久久| 欧美性生交大片免费| 成人网站免费观看入口| 国产视频亚洲色图| 亚洲专区第一页| 美女xx视频| 极品人妻videosss人妻| 老司机精品福利视频| 精品视频偷偷看在线观看| 中文字幕高清视频| 国产乱人乱偷精品视频a人人澡| 国产欧美精品一区| 国产内射老熟女aaaa| 国产一区精品视频| 久草视频观看| 亚洲尤物在线视频观看| 精品美女久久久久久免费| 成人精品福利| 成人免费毛片男人用品| 2021av在线| 中文字幕你懂的| 免费在线观看av的网站| 日韩精品诱惑一区?区三区| 日本一区二区三区四区高清视频| 免费看黄色一级大片| 欧美裸体xxxx极品少妇| 色噜噜狠狠一区二区三区| 成人免费毛片aaaaa**| 亚州av中文字幕在线免费观看| 国产一区二区三区在线观看免费视频| 亚洲欧美成人一区| 精品99在线| 亚洲天堂avav| www日本高清视频| 欧美交受高潮1| 一区二区在线观看视频在线观看| 日韩在线视频在线观看| 另类专区欧美蜜桃臀第一页| 国产美女www爽爽爽视频| www国产成人免费观看视频 深夜成人网| 99re精彩视频| 欧美亚洲韩国| 亚洲成av人片在线| 亚洲乱码国产乱码精品精天堂| 99久久99热久久精品免费看| 亚洲在线中文字幕| 日韩av电影免费观看高清| 日韩有码欧美| 黄色一级片网址| 俺去了亚洲欧美日韩| 国产午夜久久| 成人av免费在线| 精品国产欧美日韩不卡在线观看| 中文字幕在线观看免费高清| 欧美极品jizzhd欧美| 久久久久久一二三区| 91av国产在线| 欧美日韩有码| 日本h片在线观看| 翔田千里一区二在线观看| 在线免费av资源| 亚洲精品欧美日韩| 久久免费福利| 日韩精品欧美成人高清一区二区| 大奶一区二区三区| 看全色黄大色黄女片18| 久久久久久日产精品| 久久精品国产精品亚洲精品色| 天堂а√在线资源在线| 亚洲自拍都市欧美小说| 国产伦精品一区二区三区视频免费| 日韩av中文字幕一区二区| 成人免费视频caoporn| 99久久国产免费| 蜜桃视频在线观看一区二区| 夜夜未满十八勿进的爽爽影视| 黄色成人精品网站| 亚洲成年人在线播放| 国产精品第五页| 欧美做受高潮电影o| 国产又粗又黄又猛| 91精品国产综合久久香蕉麻豆| 国产在线精品不卡| 欧美日韩免费观看一区=区三区| 超碰中文字幕在线| 亚洲人视频在线观看| 午夜视频1000| 97在线中文字幕| 国产无遮挡又黄又爽免费软件| 麻豆91免费| 欧美天堂在线| 伊人网在线播放| 99精品国产一区二区| 日本不卡一区二区三区在线观看| 亚洲第一福利视频| 国产高清不卡| 麻豆av免费看| 7777精品伊人久久久大香线蕉完整版| 成人免费毛片男人用品| 卡一卡二卡三在线观看| 亚洲高清一区二区三区| 日韩不卡一区二区| 欧美性感一类影片在线播放| 国产精品进线69影院| 老司机精品视频在线| 岛国av免费在线| aa视频在线免费观看| 九九精品视频在线观看| 久久精彩免费视频| 欧美日日夜夜| 国产精品久久久一本精品| 日本伊人色综合网| 国产大学生粉嫩无套流白浆| 亚洲精品一区二区三区网址| 亚洲国产精品久久艾草纯爱| 日本最黄一级片免费在线| 久久久久国产精品麻豆| 五月天天在线| 欧美另类老女人| 97在线免费视频| 欧美激情视频一区二区三区在线播放| 国产一区 二区| 日本午夜视频在线观看| 国产主播av在线| www国产成人| 日韩美女视频免费在线观看| 国产呦小j女精品视频| 天堂电影在线| 亚洲电影成人| 蜜桃久久影院| 久久久久免费看| 久久久欧美一区二区| 亚洲高清毛片| 亚洲欧美偷拍自拍| 久久99国产精品久久99小说|