docker swarm集群部署_docker swarm部署
三、docker swarm集群部署
部署3主2从节点集群,另需提前准备1台本地容器镜像仓库服务器(Harbor)
- 主机基础配置:
- 主机名及IP配置
hostnamectl set-hostname manager1
hostnamectl set-hostname manager2
hostnamectl set-hostname manager3
hostnamectl set-hostname worker1
hostnamectl set-hostname worker2
hostnamectl set-hostname harbor
manager1 管理节点1 192.168.8.32
manager2 管理节点2 192.168.10.33
manager3 管理节点3 192.168.10.35
worker1 工作节点1 192.168.10.36
worker2 工作节点2 192.168.10.37
harbor 镜像仓库 192.168.10.34
- 主机名与IP地址解析
全部主机上都写
vi /etc/hosts
192.168.8.32 manager1
192.168.8.33 manager2
192.168.8.35 manager3
192.168.8.36 worker1
192.168.8.37 worker2
192.168.8.34 harbor
- 主机时间同步
yum -y install ntpdate
ntpdate time1.aliyun.com
crontab -e
0 */1 * * * ntpdate time1.aliyun.com
- 关闭防火墙和SeLinux
systemctl stop firewalld;systemctl disable firewalld
sed -i \'s/SELINUX=enforcing/SELINUX=disabled/\' /etc/sysconfig/selinux
setenforce 0
- 开启路由转发
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
让配置生效:
sysctl -p
- 安装docker(可离线安装)已经安装好
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce-20.10.20
systemctl start docker
docker version
在/etc/docker/daemon.json添加如下内容
sudo tee /etc/docker/daemon.json <<-\'EOF\'
{
\"registry-mirrors\": [
\"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com\",
\"https://docker.m.daocloud.io\",
\"https://hub-mirror.c.163.com\",
\"https://mirror.baidubce.com\",
\"https://your_preferred_mirror\",
\"https://dockerhub.icu\",
\"https://docker.registry.cyou\",
\"https://docker-cf.registry.cyou\",
\"https://dockercf.jsdelivr.fyi\",
\"https://docker.jsdelivr.fyi\",
\"https://dockertest.jsdelivr.fyi\",
\"https://mirror.aliyuncs.com\",
\"https://dockerproxy.com\",
\"https://mirror.baidubce.com\",
\"https://docker.m.daocloud.io\",
\"https://docker.nju.edu.cn\",
\"https://docker.mirrors.sjtug.sjtu.edu.cn\",
\"https://docker.mirrors.ustc.edu.cn\",
\"https://mirror.iscas.ac.cn\",
\"https://docker.rainbond.cc\"
]
}
EOF
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
- 安装配置harbor镜像仓库192.168.8.34上
- 安装docker-compose(可离线安装)
# chmod +x docker-compose-linux-x86_64
# mv docker-compose-linux-x86_64 /usr/bin/docker-compose
docker-compose -v
- 安装harbor(可离线安装)
tar xf harbor-offline-installer-v2.8.3.tgz -C /usr/local
cd /usr/local/harbor/
cp harbor.yml.tmpl harbor.yml
vi harbor.yml
hostname: 192.168.8.34 修改
#https: 注释
# https port for harbor, default is 443
# port: 443 注释
# The path of cert and key files for nginx
# certificate: /your/certificate/path 注释
# private_key: /your/private/key/path 注释
docker load -i harbor.v2.8.3.tar.gz
./prepare
./install.sh
验证:已开启9个容器
[root@harbor-server harbor]# docker ps
- 配置docker主机使用harbor(所有主机)
添加daemon.json文件,配置docker daemon使用harbor
vi /etc/docker/daemon.json
{
\"insecure-registries\": [\"http://192.168.8.34\"]
}
重启docker服务
systemctl restart docker
注:harbor主机若重启docker,需要重启harbor
cd /usr/local/harbor/
docker-compose restart
systemctl restart docker
不能执行时,进入harbor目录,重新执行./install.sh
登录harbor全部主机
docker login -uadmin -pHarbor12345 192.168.8.34