docker-swarm集群搭建

swarm编排吧 首先肯定比不上k8s犀利 但是呢 胜在 使用简单 部署简单
docker直接集成 可以使用docker、docker-compose 原生api

我个人认为 没有十来台服务器 部署k8s集群 完全是浪费 毕竟k8s 是非常需要 master 高可用的 服务器少了 部署k8s 浪费资源太多了 so 开发环境直接使用 swarm 来编排docker

环境:

使用 如下命令测试是否有swarm模块

1
docker swarm

swarm 默认集成到docker中的

2:基于 docker swarm 配置portainer管理页面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 初始化 swarm 集群  
sudo docker swarm init


# 创建 portainer 挂载目录
sudo mkdir -p /opt/portainer


# 以 swarm service 建立 portainer 管理
sudo docker service create \
--name portainer \
--publish 9000:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=bind,src=//opt/portainer,dst=/data \
portainer/portainer \
-H unix:///var/run/docker.sock

http://:9000 访问即可

3:遇到问题

参考地址:http://blog.51cto.com/zpf666/1908067
1:无法通过服务名访问服务
需要建立一个overlay网络
swarm上默认已有一个名为ingress的overlay 网络, 可以直接使用
也可以从新建立

2:遗忘swarm 添加节点时候的token

1
2
sudo docker swarm join-token master
sudo docker swarm join-token worker

总结

swarm 一两台服务器的docker编排 还是很轻松的 而且也不需要 k8s那么麻烦
虽然k8s 一统天下 但是个人电脑用个swarm管理管理 还是简简单单 轻轻松松的

------ 本文结束 ------

版权声明
ming创作并维护,博客采用CC协议
本文首发于ming 博客( https://blog.xujiuming.com ),版权所有,转载请注明出处!