项目启动
2021年8月,闲人老师找了一些老朋友,整个部门一起入职了一份新工作,工作内容比较轻松,闲人老师在团队中是前端身份。
2022年1月,离新年还有一个月,闲人老师基本完成了整年的工作,手上比较闲,又正好公司买了台新服务器,闲人老师就花时间在新服务器上搭建了一个微型集群系统,为以后的系统扩容建立一个架构基础。
搭建过程
1. 安装Docker基础
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
采用官方说明安装docker,一般CentOS
系统执行命令如下
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
注:最好将docker命令设置为无sudo前缀以方便使用
首先建立docker用户组sudo groupadd docker
让后将当前用户加入docker用户组sudo usermod -aG docker 当前用户
最后重新链接服务器
2. 初始化Swarm集群
Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源。
执行初始化命令:docker swarm init --advertise-addr=广播IP地址
执行后返回以工作节点模式加入集群所需的令牌:docker swarm join-token worker
执行后返回以管理节点模式加入集群所需的令牌:docker swarm join-token manager
执行后将节点加入现有集群:docker swarm join --token 你的TOKEN 管理节点广播IP地址
准备统一网络:docker network create --driver overlay app
准备工作目录:mkdir /data & cd /data
传送门:集群文档
3. 部署Portainer服务
Portainer是用来管理容器的一个GUI项目
提前下载汉化包curl -sL https://github.com/eysp/public/archive/public.tar.gz | tar xz
按需新建portainer堆栈文件vim portainer-agent-stack.yml
version: '3.7'
services:
agent:
image: portainer/agent:2.11.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock # docker管道代理
- /var/lib/docker/volumes:/var/lib/docker/volumes # docker数据代理
networks:
- app
<