如题, 如果想批量部署 runner 到复数台设备上, 批量管理和更新 runner, 包括 runner docker 执行器. 用怎么样的技术栈比较合适?
k3s? docker swarm? 各有什么优缺点?
![]() |
1
Jokesy 13 小时 16 分钟前
runner 打包程序,我们是 gitlab-runner 。
建议使用 k8s ,可以 ds 进行每台机器部署 |
![]() |
2
cdlnls 12 小时 52 分钟前 via Android
如果对 k8s 不熟悉的话,用 docker swarm 也是一个很不错的选择。
docker swarm 优势就是简单,有 docker compose 使用经验的话,上手很容易。装好 docker 后,执行加入集群的命令就好了。 docker swarm 也支持创建 daemon 类型的服务,还是很符合你描述的使用场景的。 |
![]() |
3
cdlnls 12 小时 51 分钟前 via Android
如果我来选的话,我会选 docker swarm 。
|
5
kyonn OP @cdlnls 确实, docker-compose 比较熟悉, 没用过 k8s , 想了解下用 swarm 的话会有什么缺点吗? 比如什么功能是不容易实现的, 或者比较繁琐.
|
![]() |
6
BeautifulSoap 12 小时 46 分钟前 via Android
对 k8s 不熟悉,只是搞个 runner 的话别没苦硬吃
|
7
julyclyde 12 小时 24 分钟前
docker 好像已经放弃 swarm 项目了?
|
![]() |
8
cdlnls 12 小时 12 分钟前
@kyonn Jokesy 说的 ds 指的应该是 DaemonSet 这种类型的负载。
docker swarm 也有和这个类似的机制: https://docs.docker.com/reference/compose-file/deploy/#mode 就是用 global 模式,和 k8s DaemonSet 的效果几乎一样,也会在集群里面每个节点都运行一个实例。 你的这个需求挺简单的,写好 docker compose yaml 之后(写好镜像、挂载目录),然后补充上 depoy 的那部分就好了(指定一下模式,资源限制),然后 deploy 一下就好了。 |
9
isnullstring 10 小时 41 分钟前
在用 swarm
看你有多少设备,多少运维,能力水平 运维没几个,能力也一般的话,连 k3s 都用不上,更别提 k8s 了 |
10
249239432 9 小时 53 分钟前
写个自动化部署脚本/程序就行了,现在的人除了 k8s 、docker 就不会用其他的了?
|
14
luodan 24 分钟前
k8s 和 swarm 都在生产环境用过,后来选择用 k8s 。感觉 k8s 更稳定,几乎没出过问题。swarm 经常有些小问题需要人来调整。
|