当前位置:   article > 正文

Portainer 管理 Docker swarm集群 整合harbor镜像库_portainer 配置docker 集群

portainer 配置docker 集群

目录

1、服务器实体

2、安装docker

3、dokcer swarm 集群

1、设置主机名称

2、设置hosts

 3、配置集群manager节点 (在manger服务器执行)

 4、配置worker 节点

5、特别注意

4、部署Portainer 

1、拉取镜像

2、 启动服务

3、访问  9000端口打开页面  设计账户账户密码 进入界面

5、harbor安装

1、docker配置

2、harbor 安装 (manager)

3、harbor  创建并推送到镜像库

4、 子节点使用harbor镜像


1、服务器实体

  服务器角色(主机名称)需要安装插件
192.168.1.213manager(主节点)Portainer ,dokcer, harbor ,dokcer-compose
192.168.1.198worker1 (节点1)dokcer
192.168.1.201worker2  (节点2)dokcer
192.168.1.202worker2  (节点3)dokcer

2、安装docker

操作系统:CentOS

docker 版本: docker-20.10.11

解压:

tar -xvf docker-20.10.11.tgz

将解压文件复制到 /usr/bin 目录

cp docker/* /usr/bin/

docker 注册成系统服务

vim /etc/systemd/system/docker.service

docker.service 文件

  1. [Unit]
  2. Description=Docker Application Container Engine
  3. Documentation=https://docs.docker.com
  4. After=network-online.target firewalld.service
  5. Wants=network-online.target
  6. [Service]
  7. Type=notify
  8. # the default is not to use systemd for cgroups because the delegate issues still
  9. # exists and systemd currently does not support the cgroup feature set required
  10. # for containers run by docker
  11. ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
  12. ExecReload=/bin/kill -s HUP $MAINPID
  13. # Having non-zero Limit*s causes performance problems due to accounting overhead
  14. # in the kernel. We recommend using cgroups to do container-local accounting.
  15. LimitNOFILE=infinity
  16. LimitNPROC=infinity
  17. LimitCORE=infinity
  18. # Uncomment TasksMax if your systemd version supports it.
  19. # Only systemd 226 and above support this version.
  20. #TasksMax=infinity
  21. TimeoutStartSec=0
  22. # set delegate yes so that systemd does not reset the cgroups of docker containers
  23. Delegate=yes
  24. # kill only the docker process, not all processes in the cgroup
  25. KillMode=process
  26. # restart the docker process if it exits prematurely
  27. Restart=on-failure
  28. StartLimitBurst=3
  29. StartLimitInterval=60s
  30. [Install]
  31. WantedBy=multi-user.target

这里特别注意: 这里指定swarm 端口

ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock  

配置文件赋权

chmod +x /etc/systemd/system/docker.service

刷新配置文件

systemctl daemon-reload

启动

systemctl start docker

开机启动

systemctl enable docker.service	

查看是否启动成功

systemctl status docker

这里 docker就安装完毕。

3、dokcer swarm 集群

1、设置主机名称

  设置: manager   主机名称 (这里便于 Portainer  找到节点)

hostnamectl set-hostname manager

设置: woker1  节点1

hostnamectl set-hostname worker1

设置: woker2  节点2

hostnamectl set-hostname worker2

设置: woker3  节点3

hostnamectl set-hostname worker3

2、设置hosts

设置 hosts:  进入   /etc/hosts 编码hosts  (备注: 所有主节点,子节点都要配置)

  1. 192.168.1.213 manager
  2. 192.168.1.198 worker1
  3. 192.168.1.201 worker2
  4. 192.168.1.202 worker3

 3、配置集群manager节点 (在manger服务器执行)

docker swarm init --advertise-addr 192.168.1.213

 如果出现  Error response from daemon: --live-restore daemon configuration is incompatible with swarm mode  错误  修改 /etc/sysconfig/docker   在参数中添加–live-restore=false

--live-restore=false

执行之后会有 输出 token  特别注意将此token 拷贝备用

 如果忘记了在manger主机 执行一下代码也可以获取 token

docker swarm join-token manager

 4、配置worker 节点

 在所有子节点服务器执行

docker swarm join --token SWMTKN-1-3ztp0edq764nxcgvcl3f424wtlblxukn0lrrdzsr6h6w7eangl-0xhpzfxrekczxxcl9h2eadili 192.168.1.213:2377

在manager节点查看所有加入的子节点

docker node ls

这样warm集群就配置好了

5、特别注意

端口不通,请关闭防火墙或者开放所有使用端口。开端端口需要关闭防火墙 然后重启才生效。

安装完毕建议重启 docker

  1. ####开放端口
  2. firewall-cmd --zone=public --add-port=2375/tcp --permanent
  3. ### 关闭防火墙
  4. systemctl stop firewalld
  5. #### 重启防火墙
  6. systemctl start firewalld

4、部署Portainer 

   部署portainer在主节点(manager)

1、拉取镜像

docker pull portainer/portainer

2、 启动服务

  1. docker run -d -p 9000:9000 -v /root/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock --name dev-portainer portainer/portainer

3、访问  9000端口打开页面  设计账户账户密码 进入界面

查看swarm节点

  将docker 节点加入

 加入之后效果

 点击Home 查看docker 容器 这样就可以愉快的管理docke容器了。 

 注意 Portainer 也支持集群  需要的小伙伴可以自己试一试。

 至此 portainer 整合 docker swarm 集群完毕。接下来就是 集成harbor 统计镜像管理。

5、harbor安装

1、docker配置

cd /etc/docker

目录 找到 daemon.json文件(没有就创建)

vi daemon.json

 添加 子节点的ip 加入认证 (manger)

  1. {
  2. "insecure-registries":["192.168.1.213","192.168.1.198","192.168.1.201","192.168.1.202"]
  3. }

  注意: 这里主节点(manager)需要将 所有的子节点ip 加入。 

             子节点服务(worker) 只需要将主节点的加入(如下图)

 添加城管之后 刷新 重启docker

  1. systemctl daemon-reload
  2. systemctl restart docker

重启docker 之后 Portainer 可能没有启动 需要自己重启下Portainer容器

2、harbor 安装 (manager)

自己去官网下载,安装之前 确保 Docker-compose 已安装

导入  /usr/local/harbor/harbor  (可以自己定义目录) 解压

到解压目录

  进入 harbor.yml 修改 地址为本主机地址:

  默认端口 这里设置80(可自定义) 配置admin 登录 密码

 当前目录执行 初始化

 ./install.sh  

然后访问manager 80端口 这样 harbor 就按照好了。

3、harbor  创建并推送到镜像库

新建项目 cg  设置为公开(这个自定义)

进入 manager  随便创建一个镜像(这里以jar 为例子) 

创建一个 sys-user 的镜像 版本 v0.0.1

docker build -t sys-user:v0.0.1 .

 备注 这里如果 需要登录 harbor   输入账户密码

docker login 192.168.1.213

新建tag   镜像:版本  IP(manger的)  项目  映射的之后的镜像

docker tag  sys-user:v0.0.1 192.168.1.213/cg/sys-user:v0.0.1

 推送到harbor

docker push 192.168.1.213/cg/sys-user:v0.0.1

查看推送的镜像

 

 这里 推送到harbor完毕

4、 子节点使用harbor镜像

   登录:

docker login 192.168.1.213

 

拉取镜像  点击这个命令  复制拉取命令

 如下  子节点执行:

docker pull 192.168.1.213/cg/sys-user@sha256:0aa5d26d9c912cfc0513186d60177775d741ef06f85968501fa7867eb15d6e1d

查看镜像

docker images  查看镜像

 

接下来我们就可以愉快的在子节点 使用镜像了, 到此结束。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/728129
推荐阅读
相关标签
  

闽ICP备14008679号