Portainer 管理 Docker swarm集群 整合harbor镜像库

目录

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 文件

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock  
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
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  (备注: 所有主节点,子节点都要配置)

192.168.1.213 manager
192.168.1.198 worker1
192.168.1.201 worker2
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

####开放端口
firewall-cmd --zone=public --add-port=2375/tcp --permanent

### 关闭防火墙
systemctl stop firewalld
#### 重启防火墙
systemctl start firewalld

4、部署Portainer 

   部署portainer在主节点(manager)

1、拉取镜像

docker pull portainer/portainer

2、 启动服务


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)

{
	"insecure-registries":["192.168.1.213","192.168.1.198","192.168.1.201","192.168.1.202"]
}

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

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

 添加城管之后 刷新 重启docker

systemctl daemon-reload
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  查看镜像

 

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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值