真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

dockerSwarm集群配置

前言:
Docker Swarm 和 Docker Compose 一樣,都是 Docker 官方容器編排項(xiàng)目,但不同的是,Docker Compose 是一個在單個服務(wù)器或主機(jī)上創(chuàng)建多個容器的工具,而 Docker Swarm 則可以在多個服務(wù)器或主機(jī)上創(chuàng)建容器集群服務(wù),對于微服務(wù)的部署,顯然 Docker Swarm 會更加適合。
從 Docker 1.12.0 版本開始,Docker Swarm 已經(jīng)包含在 Docker 引擎中(docker swarm),并且已經(jīng)內(nèi)置了服務(wù)發(fā)現(xiàn)工具,我們就不需要像之前一樣,再配置 Etcd 或者 Consul 來進(jìn)行服務(wù)發(fā)現(xiàn)配置了。
Docker Swarm集群中有三個角色:manager(管理者);worker(實(shí)際工作者)以及service(服務(wù))。
在上面的三個角色中,其本質(zhì)上與我們公司的組織架構(gòu)類似,有領(lǐng)導(dǎo)(manager),有搬磚的(worker),而領(lǐng)導(dǎo)下發(fā)給搬磚者的任務(wù),就是Docker Swarm中的service(服務(wù))。
需要注意的是,在一個Docker Swarm群集中,每臺docker服務(wù)器的角色可以都是manager,但是,不可以都是worker,也就是說,不可以群龍無首,并且,參與群集的所有主機(jī)名,千萬不可以沖突。
Docker Swarm規(guī)劃

docker Swarm集群配置

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、定西網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為定西等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Docker安裝
 [root@k8s-master01 ~]#  wget  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 [root@k8s-master01 ~]# mv docker-ce.repo  /etc/yum.repos.d/
 [root@k8s-master01 ~]#  yum install -y docker-ce
 [root@k8s-master01 ~]#  systemctl  daemon-reload
 [root@k8s-master01 ~]# systemctl  start docker  
設(shè)置互通和開放iptables訪問(三臺都執(zhí)行)
 [root@k8s-master01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub  k8s-master01:
 [root@k8s-master01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub  k8s-node03:
 [root@k8s-master01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub  k8s-node02:   
 [root@k8s-master01 ~]# iptables -A INPUT -p tcp  -s 192.168.1.29 -j ACCEPT
 [root@k8s-master01 ~]# iptables -A INPUT -p tcp  -s 192.168.1.101 -j ACCEPT         
設(shè)置集群
設(shè)置k8s-master01為manage節(jié)點(diǎn)
[root@k8s-master01 ~]# docker swarm init --advertise-addr 192.168.1.23

docker Swarm集群配置

配置node節(jié)點(diǎn)加入Swarm節(jié)點(diǎn)

docker Swarm集群配置
docker Swarm集群配置

升級節(jié)點(diǎn)為manager
[root@k8s-node02 ~]# docker node promote k8s-node02  #將k8s-node02從worker升級為manager
若docker02或者docker03要脫離這個群集 (k8s-node03節(jié)點(diǎn)為例子)
[root@k8s-node03 .ssh]# docker swarm leave    #在k8s-node03上執(zhí)行此命令
Node left the swarm.
[root@k8s-master01 ~]# docker node rm k8s-node03  #然后manager節(jié)點(diǎn)移除k8s-node03
[root@k8s-master01 ~]# docker swarm leave -f    #若是最后一個manager上進(jìn)行刪除群集,則需要加“-f”選項(xiàng)
#最后一個刪除后,這個群集也就不存在了
Docker Swarm常用命令
[root@k8s-master01 ~]# docker node ls   ####查看節(jié)點(diǎn)數(shù)量
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
zdtrj1duj7rz2m0a0w4bh4kww *   k8s-master01        Ready               Active              Leader              19.03.4
nnc6df9g6gzwpstjspdvrvl5u        k8s-node02          Ready               Active                                  19.03.3-rc1
vkxwfe025vp3m3dxyphkfc0u6     k8s-node03          Ready               Active                                  19.03.4
[root@k8s-master01 ~]# docker service ls #查看service服務(wù)
[root@k8s-master01 ~]# docker swarm join-token worker      #如果后期需要加入worker端,可以執(zhí)行此命令查看令牌(也就是加入時需要執(zhí)行的命令)
[root@k8s-master01 ~]# docker swarm join-token manager         #同上,若要加入manager端,則可以執(zhí)行這條命令查看令牌。
[root@k8s-master01 ~]# docker service scale nginx=3    #容器的動態(tài)擴(kuò)容及縮容
[root@k8s-master01 ~]# docker service ps nginx       #查看創(chuàng)建的容器運(yùn)行在哪些節(jié)點(diǎn)
[root@k8s-master01 ~]# docker service ls        #查看創(chuàng)建的服務(wù)
[root@k8s-master01 ~]# docker service rm helloworld  #刪除服務(wù) 
[root@k8s-master01 ~]#docker service inspect helloworld  #查看服務(wù)信息
#將docker03脫離這個群集
[root@k8s-master01 ~]# docker swarm leave        #k8s-node02脫離這個群集
[root@k8s-master01 ~]# docker node rm k8s-node02         #然后在manager角色的服務(wù)器上移除k8s-node02
[root@k8s-master01 ~]#docker node promote k8s-node02    #將k8s-node02從worker升級為manager。
#升級后docker02狀態(tài)會為Reachable
[root@k8s-master01 ~]# docker node demote k8s-node02    #將k8s-node02從manager角色降級為worker
[root@k8s-master01 ~]# docker node update --availability drain k8s-node02   #設(shè)置主機(jī)k8s-node02以后不運(yùn)行容器,但已經(jīng)運(yùn)行的容器并不會停止
搭建Docker Swarm的WEB界面
[root@k8s-master01 ~]#  docker run -d -p 8000:8080 -e HOST=172.168.1.3  -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock  --name visualizer  dockersamples/visualizer

docker Swarm集群配置

搭建service服務(wù)
[root@k8s-master01 ~]# docker service create --replicas 1 --name helloworld alpine ping docker.com
[root@k8s-master01 ~]# docker service ls  #查看服務(wù)
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
le5fusj4rses        helloworld          replicated          1/1                 alpine:latest       
[root@k8s-master01 ~]# docker service inspect --pretty helloworld

ID:     le5fusj4rsesv6d4ywxwrvwno
Name:       helloworld
Service Mode:   Replicated
 Replicas:  1
Placement:
UpdateConfig:
 Parallelism:   1
 On failure:    pause
 Monitoring Period: 5s
 Max failure ratio: 0
 Update order:      stop-first
RollbackConfig:
 Parallelism:   1
 On failure:    pause
 Monitoring Period: 5s
 Max failure ratio: 0
 Rollback order:    stop-first
ContainerSpec:
 Image:     alpine:latest@sha256:c19173c5ada610a5989151111163d28a67368362762534d8a8121ce95cf2bd5a
 Args:      ping docker.com 
 Init:      false
Resources:
Endpoint Mode:  vip
此時服務(wù)運(yùn)行在集群的這臺機(jī)器,我們擴(kuò)展下,使他運(yùn)行到work兩臺上
   [root@k8s-master01 ~]# docker service scale helloworld=3  #擴(kuò)縮容器 只需要修改 helloword=#數(shù)字即可

docker Swarm集群配置

.
         然后你可以到各個worker查看 docker ps -a查看
設(shè)置特定worker不運(yùn)行容器
在上述的配置中,若運(yùn)行指定數(shù)量的容器,那么將是群集中的所有docker主機(jī)進(jìn)行輪詢的方式運(yùn)行,直到運(yùn)行夠指定的容器數(shù)量,那么,如果不想讓k8s-master01這個manager角色運(yùn)行容器呢?可以進(jìn)行以下配置:
    [root@k8s-master01 ~]# docker node update --availability drain k8s-master01 #
k8s-master01
#設(shè)置主機(jī)k8s-master01以后不運(yùn)行容器,但已經(jīng)運(yùn)行的容器并不會停止
# “--availability”選項(xiàng)后面共有三個選項(xiàng)可配置,如下:
# “active”:工作;“pause”:暫時不工作;“drain”:永久性的不工作    
在擴(kuò)容查看
[root@k8s-master01 ~]# docker service scale helloworld=6

docker Swarm集群配置

創(chuàng)建一個nginx服務(wù)
  [root@k8s-master01 ~]# docker service create  --replicas 2 --name nginx15  -p 80  192.168.1.23:5000/nginx:1.15
 [root@k8s-master01 ~]# docker service ls
 ID                  NAME                MODE                REPLICAS            IMAGE                                 PORTS
 le5fusj4rses        helloworld          replicated          6/6                 alpine:latest                  
 tw7s5ps953lm        nginx15             replicated          2/2                 192.168.1.23:5000/nginx:1.15   *:30001->80/tcp

 發(fā)現(xiàn)k8s-master是不運(yùn)行任務(wù)的  
Docker swarm集群節(jié)點(diǎn)路由網(wǎng)絡(luò)

swarm可以輕松的發(fā)布服務(wù)和端口,所有節(jié)點(diǎn)都參與入口的路由網(wǎng)絡(luò),路由網(wǎng)絡(luò)能夠使得集群中每個節(jié)點(diǎn)都能夠接受已經(jīng)發(fā)布端口上的任何服務(wù)。即使在節(jié)點(diǎn)上沒有運(yùn)行任何服務(wù),也可以在集群中運(yùn)行任何服務(wù)。路由網(wǎng)絡(luò)將所有傳入請求路由到可用節(jié)點(diǎn)上,也就是存活的容器上。
[root@k8s-master01 ~]# docker service create --replicas 2 --name nginx --publish 8081:80 192.168.1.23:5000/nginx:1.15
[root@k8s-master01 ~]# curl http://192.168.1.29:8081
[root@k8s-master01 ~]# curl http://192.168.1.101:8081

docker swarm編排
version: "3.3"
services:
  redis:
    image: redis:latest
    container_name: redis1
    hostname: redis1
    networks:
      hanye1:
        ipv4_address: 172.3.1.2

    DNS:
      - "114.114.114.114"
    ports:
      - "6379:6379"
    deploy:
      restart_policy:
        condition: on-failure
      replicas: 2
      mode: replicated
      resources:
        limits:
          cpus: "0.2"
          memory: 100M
        reservations:
          cpus: "0.2"
          memory: 100M
networks:
  hanye1:
    ipam:
     driver: default
     config:
       - subnet: 172.3.1.1/24

docker stack deploy -c docker-swarm.yaml  up        

docker Swarm集群配置


網(wǎng)站欄目:dockerSwarm集群配置
網(wǎng)站鏈接:http://weahome.cn/article/pcpoch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部