Humpback集群部署指南
环境准备
准备三台已安装Docker的服务器
192.168.215.81
192.168.215.82
192.168.215.83
所有服务器均需安装JDK
https://www.cnblogs.com/ff111/p/11868976.html
部署流程参考
https://humpback.github.io/humpback/#/zh-cn/run-humpback-components
1.Zookeeper集群部署
在三台服务器上执行以下相同操作:
cd /optmkdir container_service #创建container_service目录
cd /container_service #进入container_service目录<br></br>
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz #获取zookeeper安装包<br></br><br></br>
tar -xzvf zookeeper-3.4.14.tar.gz #解压文件<br></br>
mv zookeeper-3.4.14 zookeeper_cluster #重命名目录<br></br><br></br>cd zookeeper_cluster
修改配置文件
cp conf/zoo_sample.cfg conf/zoo.cfg<br></br>vi conf/zoo.cfg
修改以下参数:
# 每个tick的毫秒数
tickTime=2000
# 初始同步阶段可以经历的tick数
initLimit=10
# 发送请求和获取确认之间可以经过的tick数
syncLimit=5
# 存储快照的目录
dataDir=/container_service/zookeeper_cluster/node_data
dataLogDir=/container_service/zookeeper_cluster/logs
# 客户端连接的端口
clientPort=2181
# 服务器节点配置
server.1=192.168.215.81:2888:3888
server.2=192.168.215.82:2888:3888
server.3=192.168.215.83:2888:3888
创建必要目录
mkdir -p /container_service/zookeeper_cluster/node_data
mkdir -p /container_service/zookeeper_cluster/logs
三台服务器均执行以上步骤,接下来创建Zookeeper集群并启动。
为每个节点创建标识文件node_id
192.168.215.81
echo "1" > /container_service/zookeeper_cluster/node_data/node_id
192.168.215.82
echo "2" > /container_service/zookeeper_cluster/node_data/node_id
192.168.215.83
echo "3" > /container_service/zookeeper_cluster/node_data/node_id
分别在各节点启动zookeeper
/container_service/zookeeper_cluster/bin/zkServer.sh start
查看集群状态
/container_service/zookeeper_cluster/bin/zkServer.sh status
重启说明:服务器重启后需要手动启动服务
2.部署私有镜像仓库
选择 192.168.215.81 作为私有仓库服务器
mkdir -p /data/registry
docker pull registry:2.5.1
启动仓库服务
将配置文件复制到 /etc/docker/registry/config.yml
docker cp registry:/etc/docker/registry/config.yml /etc/docker/registry/config.yml
配置文件内容:
http:
addr: :5000
secret: registry_secret_key
headers:
X-Content-Type-Options: [nosniff]
Access-Control-Allow-Headers: ['Origin,Accept,Content-Type,Authorization']
Access-Control-Allow-Origin: ['*']
Access-Control-Allow-Methods: ['GET,POST,PUT,DELETE']
docker run -d -p 5000:5000 --restart=always -v /data/registry/:/var/lib/registry/ -v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml --name container_registry registry:2.5.1
测试仓库访问
curl http://192.168.215.81:5000/v2/_catalog
参考:https://blog.csdn.net/twingao/article/details/81042563
3.部署Humpback管理界面
在 192.168.215.81 上部署Humpback Web界面,端口设置为:8012。 默认访问端口为:80,如需自定义端口,请在创建容器时指定 -e HUMPBACK_LISTEN_PORT=XXXX 参数。 /container_service/humpback-web/dbFiles 目录存储系统持久化数据,包含站点管理和分组信息,请妥善保存。
mkdir -p /container_service/humpback-web
docker run -d --net=host --restart=always -e HUMPBACK_LISTEN_PORT=8012 -v /container_service/humpback-web/dbFiles:/humpback-web/dbFiles --name humpback-web humpbacks/humpback-web:latest
访问界面,浏览器输入:http://192.168.215.81:8012 默认账户:admin 密码:123456
4.部署Humpback代理
在三台服务器(192.168.215.81, 192.168.215.82, 192.168.215.83)上部署Humpback Agent,用于本地镜像和容器管理。
检查Docker版本
docker version
验证Docker API连接
启动Humpback Agent
<br></br>docker run -d -ti --net=host --restart=always --name=container_agent -e DOCKER_API_VERSION=v1.32 -e DOCKER_AGENT_IPADDR=0.0.0.0 -e DOCKER_CLUSTER_ENABLED=true -e DOCKER_CLUSTER_URIS=zk://192.168.215.81:2181,192.168.215.82:2181,192.168.215.83:2181 -e DOCKER_CLUSTER_NAME=humpback/center -v /var/run/:/var/run/:rw humpbacks/humpback-agent:latest<br></br><br></br>docker ps -a<br></br>
创建管理组并注册服务器
5.部署Humpback中心服务
Humpback Center为平台提供集群容器调度服务,作为集群中心角色实现各管理组的容器分配管理。 需要集群调度的组需在设置中启用集群模式。
启动Humpback Center
docker pull humpbacks/humpback-center:latest
docker run -d -ti --net=host --restart=always --name=cluster_center -e HUMPBACK_SITEAPI=http://192.168.215.81:8012/api -e CENTER_LISTEN_PORT=:8589 -e CENTER_API_ENABLECORS=true -e DOCKER_CLUSTER_URIS=zk://192.168.215.81:2181,192.168.215.82:2181,192.168.215.83:2181 -e DOCKER_CLUSTER_NAME=humpback/center -v /container_service/cluster_center/cache:/opt/humpback-center/cache -v /container_service/cluster_center/logs:/opt/humpback-center/logs -v /container_service/cluster_center/data:/opt/humpback-center/data humpbacks/humpback-center:latest
docker ps -a
常见问题处理:
错误:Get https://192.168.215.81:5000/v2/: http: server gave HTTP response to HTTPS client
解决方案:
在Docker客户端创建配置文件
{ "insecure-registries":["192.168.215.81:5000"] }
注意: 此配置应用于Docker客户端,允许其以不安全的HTTP方式访问镜像仓库,请填入提供服务的服务器IP和端口。
重启Docker服务
systemctl daemon-reload <br></br>systemctl restart docker.service <br></br>systemctl enable docker.service
防火墙配置
#启用防火墙
ufw enable
#禁用防火墙
ufw disable
#查看防火墙状态
ufw status
系统资源监控
#查看内存使用
free -m
#查看CPU使用情况
top
#查看特定进程的线程
top -H -p pid
交换区管理(Docker环境需关闭交换区)
#禁用交换区
sudo swapoff -a
#启用交换区
sudo swapon -a