简述
本文为离线部署,仅供参考
swarm概述(摘抄)
Raft:一致性算法,在保证大多数管理节点存活的情况下,集群才能使用,所以就要求如果集群的话,manager节点必须>3台,如果是两个台,其中一台宕机,剩余的一台也将不可用,以致整个集群不可用。
Manager: 管理节点,用于管理工作节点。
为了利用 swarm 模式的容错特性,Docker 建议您根据组织的高可用性要求实现奇数个节点。当您有多个管理器时,您可以从管理器节点的故障中恢复而无需停机。
一个三管理器群最多可以容忍一名管理器的损失。
一个五管理器群最多可以同时丢失两个管理器节点。
一个N管理器集群最多可以容忍丢失 (N-1)/2管理器。
Docker 建议一个 swarm 最多使用七个管理器节点。
部署环境
服务 | 版本 | 备注 |
---|---|---|
centos | 7.5 | 3台 |
docker | 20.10.17 | |
portainer-ce汉化 | 2022.7.28更新 | 该部分内容已删除 |
portainer-ce | 2.14.2 | |
portainer-agent | 2.14.2 | |
nginx | 1.23.1 |
节点 | IP | 作用 |
---|---|---|
manager | 192.168.7.30 | 管理节点,也快工作 |
node1 | 192.168.7.31 | 工作节点 |
node2 | 192.168.7.32 | 工作节点 |
安装docker
下载docker离线包,从1.12.0版本开始内置swarm
Index of linux/static/stable/x86_64/https://download.docker.com/linux/static/stable/x86_64/
[root@manager software]# tar -zxvf docker-20.10.17.tgz
docker/
docker/docker-init
docker/containerd
docker/ctr
docker/runc
docker/dockerd
docker/docker-proxy
docker/containerd-shim
docker/docker
docker/containerd-shim-runc-v2
[root@manager software]# cp docker/* /usr/bin/
[root@manager software]# vi /etc/systemd/system/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
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure</