> 技术文档 > docker swarm集群部署_docker swarm部署

docker swarm集群部署_docker swarm部署

三、docker swarm集群部署

部署3主2从节点集群,另需提前准备1台本地容器镜像仓库服务器(Harbor)

  1. 主机基础配置:
  1. 主机名及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

  1. 主机名与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

  1. 主机时间同步

yum -y install ntpdate

ntpdate time1.aliyun.com

 crontab -e

0 */1 * * * ntpdate time1.aliyun.com

  1. 关闭防火墙和SeLinux

systemctl stop firewalld;systemctl disable firewalld

sed -i \'s/SELINUX=enforcing/SELINUX=disabled/\' /etc/sysconfig/selinux

 setenforce 0

  1. 开启路由转发

vi /etc/sysctl.conf

net.ipv4.ip_forward=1

让配置生效:

sysctl -p

  1. 安装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

  1. 安装配置harbor镜像仓库192.168.8.34上
  1. 安装docker-compose可离线安装

# chmod +x docker-compose-linux-x86_64

# mv docker-compose-linux-x86_64 /usr/bin/docker-compose

docker-compose -v

  1. 安装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

  1. 配置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