docker部署安装-swarm创建-web端portainer部署

docker部署安装-swarm创建-web端portainer部署

 

yum指定版本安装

yum list docker-ce –showduplicates|sort -r   yum install docker-ce-17.12.0.ce -y

Install Docker Engine

You can do this by running the following command on all the nodes:

 

wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker.repo

 

install Docker CE:

 

yum install docker-ce –y

 

启动 重启等

 

systemctl start docker

systemctl enable docker

 

配置阿里云加速器,加快从官方docker下载镜像速度

  1. 安装/升级Docker客户端

推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce

  1. 配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-EOF

{   “registry-mirrors”: [“https://xxxxxx.mirror.aliyuncs.com”] }

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

 

创建swarm

 

本例三节点

swarm-manager 192.168.5.10

swarm-client 192.168.5.11

swarm-client 192.168.5.12

 

在管理节点上执行:

这里使用默认端口2377

[root@kub1 ~]# docker swarm init –advertise-addr 192.168.5.10

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

 

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

 

docker swarm join –token SWMTKN-1-242fe3w4v5fj5dnvz79tox8aaf2bhguxww6di8cjlmug3woa3u-1enttmo9nkmok9sj8a72bty6w 192.168.5.10:2377

 

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

 

[root@kub1 ~]#

  1. –advertise-addr:多网卡的情况下,指定需要使用的ip
  2. –listen-addr:指定监听的 ip 与端口
  3. –availability:节点的有效性(“active”|”pause”|”drain”)

[root@kub1 ~]# docker node ls

ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION

q9dg2cygnce9shnfaq76oyfs9 *   kub1                Ready               Active              Leader              18.09.3

[root@kub1 ~]#

[root@kub1 ~]# netstat -anltp | grep 2377

tcp6       0      0 :::2377                 :::*                    LISTEN      12510/dockerd

 

将剩余2台worker节点加入到manager

使用上面输出的命令

manager查看确认

当你忘记令牌后,可以执行下面的命令在管理端生产令牌

docker swarm join-token manager -q

[root@kub1 ~]# docker swarm join-token manager -q

SWMTKN-1-242fe3w4v5fj5dnvz79tox8aaf2bhguxww6di8cjlmug3woa3u-a5dvu44aux4pk069i7f1haogd

或者直接生产命令

[root@kub1 ~]# docker swarm join-token manager

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

 

docker swarm join –token SWMTKN-1-242fe3w4v5fj5dnvz79tox8aaf2bhguxww6di8cjlmug3woa3u-a5dvu44aux4pk069i7f1haogd 192.168.5.10:2377

 

实际测试-部署服务(实际测试过程中最新版本为18.09.3 执行下面命令失败,后更换低版本17.12.0成功)

在swarm模式下,分别3个swarm节点上部署一个web服务,只需要在管理节点上执行

docker service create -p 80:80 –name webservice –replicas 3 httpd

3个节点IP均能访问

测试负载均衡

当前主节点上查看

将kub2节点上的容器删掉 ,查看是否自动生成一个新的容器

看到删除之后里面生成新的容器

在主节点上查看:

原容器已经被shutdown了,在该节点上重新生成了新的容器。

 

 

部署web管理端

在上面的环境下面 manager节点上执行如下命令

$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml $ docker stack deploy –compose-file=portainer-agent-stack.yml portainer

 

部署好之后,可以看到所有节点都是portainer的agent,管理节点也是portainer_portainer 角色。登入管理节点ip:9000端口,可进行各项操作以及监控等。

发布者

deelaaay

己所不欲,勿施于人。