一、环境准备
| swManager | 192.168.233.144 |
| node1 | 192.168.233.145 |
| node2 | 192.168.233.146 |
二、基础环境配置(所有节点)
1、各节点根据节点配置表修改自己的主机名,并且把所有节点的信息添加到hosts文件
2、设置ssh从sw_Manager上免密登录其它节点
得到swManager密钥
ssh-keygen
出现后一直按回车就行
简历ssh远程连接
ssh-copy-id root@192.168.233.145
ssh-copy-id root@192.168.233.146
注:出现Are you sure you want to continue connecting (yes/no)? yes要弄yes
3、做好各主机的时间同步
4、关闭防火墙、关闭selinux
5、安装docker引擎
yum -y install docker-ce
6、修改docker镜像仓库地址
cat <<EOF >/etc/docker/daemon.json
{
"insecure-registries": ["192.168.5.24:5000"],
"registry-mirrors": [
"https://ccr.ccs.tencentyun.com",
"https://docker.rainbond.cc",
"https://elastic.m.daocloud.io",
"https://elastic.m.daocloud.io",
"https://docker.m.daocloud.io",
"https://gcr.m.daocloud.io",
"https://ghcr.m.daocloud.io",
"https://k8s-gcr.m.daocloud.io",
"https://k8s.m.daocloud.io",
"https://mcr.m.daocloud.io",
"https://nvcr.m.daocloud.io", "https://quay.m.daocloud.io"
]
}
注:这docker镜像仓库地址是学校老师弄得,自己实验时要自己找到docker镜像
7、设置docker引擎自启动
systemctl enable --now docker
三、配置集群
1、初始化swarm
docker swarm init --listen-addr 192.168.168.102:2377
Swarm initialized: current node
(bukhx2jux7w2a9smr6l3b5arh) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-18g572b7yi84rm8vlu4nsz17amf7ncagmlvjegkdeofn2fb629-4kqmthlbw2dd2xkpxwitzp7qw 192.168.233.144:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
2、添加工作节点到swarm集群
[root@node1 ~]# docker swarm join --token SWMTKN-1-18g572b7yi84rm8vlu4nsz17amf7ncagmlvjegkdeofn2fb629-4kqmthlbw2dd2xkpxwitzp7qw 192.168.233.144:2377
This node joined a swarm as a worker.
[root@node2 ~]# docker swarm join --token SWMTKN-1-18g572b7yi84rm8vlu4nsz17amf7ncagmlvjegkdeofn2fb629-4kqmthlbw2dd2xkpxwitzp7qw 192.168.233.144:2377
This node joined a swarm as a worker.
3、查看集群节点列表
docker node ls
4、图形化查看集群
docker run -itd -p 8888:8080 -e HOST=192.168.168.102 -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock --name visua 192.168.5.24:5000/visualizer
5、服务测试
docker service create --replicas 2 --mount "type=bind,source=/html,target=/var/www/html" --publish 8080:80 --name httpservice 192.168.5.24:5000/centos-httpd:v1
注:若原路径不存在,则在根目录底下创建一个目录\html