批量部署, 管理 gitlab runner, 应该用 k3s 还是 docker swarm?

200 天前
 kyonn

如题, 如果想批量部署 runner 到复数台设备上, 批量管理和更新 runner, 包括 runner docker 执行器. 用怎么样的技术栈比较合适?

k3s? docker swarm? 各有什么优缺点?

2272 次点击
所在节点    程序员
16 条回复
Jokesy
200 天前
runner 打包程序,我们是 gitlab-runner 。
建议使用 k8s ,可以 ds 进行每台机器部署
cdlnls
200 天前
如果对 k8s 不熟悉的话,用 docker swarm 也是一个很不错的选择。

docker swarm 优势就是简单,有 docker compose 使用经验的话,上手很容易。装好 docker 后,执行加入集群的命令就好了。

docker swarm 也支持创建 daemon 类型的服务,还是很符合你描述的使用场景的。
cdlnls
200 天前
如果我来选的话,我会选 docker swarm 。
kyonn
200 天前
@Jokesy 对 k8s 不是很熟悉, 请问 ds 是什么? 用 k8s 相比于 swarm 有什么优点呢?
kyonn
200 天前
@cdlnls 确实, docker-compose 比较熟悉, 没用过 k8s , 想了解下用 swarm 的话会有什么缺点吗? 比如什么功能是不容易实现的, 或者比较繁琐.
BeautifulSoap
200 天前
对 k8s 不熟悉,只是搞个 runner 的话别没苦硬吃
julyclyde
200 天前
docker 好像已经放弃 swarm 项目了?
cdlnls
200 天前
@kyonn Jokesy 说的 ds 指的应该是 DaemonSet 这种类型的负载。

docker swarm 也有和这个类似的机制: https://docs.docker.com/reference/compose-file/deploy/#mode
就是用 global 模式,和 k8s DaemonSet 的效果几乎一样,也会在集群里面每个节点都运行一个实例。

你的这个需求挺简单的,写好 docker compose yaml 之后(写好镜像、挂载目录),然后补充上 depoy 的那部分就好了(指定一下模式,资源限制),然后 deploy 一下就好了。
isnullstring
199 天前
在用 swarm

看你有多少设备,多少运维,能力水平

运维没几个,能力也一般的话,连 k3s 都用不上,更别提 k8s 了
249239432
199 天前
写个自动化部署脚本/程序就行了,现在的人除了 k8s 、docker 就不会用其他的了?
twofox
199 天前
@249239432 没苦硬吃
249239432
199 天前
@twofox 写个脚本、程序就十来分钟,这叫苦?
twofox
199 天前
@249239432 我搭个 docker swarm 要 5 分钟吗?后期要改要扩展还更方便,别人对接也容易
luodan
199 天前
k8s 和 swarm 都在生产环境用过,后来选择用 k8s 。感觉 k8s 更稳定,几乎没出过问题。swarm 经常有些小问题需要人来调整。
249239432
198 天前
@twofox 不是什么公司都有这些条件,或者这些环境的
有条件的用 docker 、ks8 是简单
hezhiming1993
198 天前
@luodan 确实 swarm 虽然不难,总归还是要学新东西. K8S 也是学新东西,相对来说[技能能够迁移]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1113446

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX