使用 K3S 配置管理的一些疑惑?

2021-12-06 10:27:15 +08:00
juzisang  juzisang

以前是用 Docker Swarm 集群 记一次跨云服务商&跨网络搭建 Docker Swarm 集群

发布到部署的流程,监听 Git 变更 -> DroneCI 打包 Docker 镜像 -> DroneCI 中 SSH 上部署机 sed 变更版本 -> docker stack deploy 变更

所有的配置文件都放在一个 Git 仓库下 orrRJO.png

现在用 K3S ,装了个 Rancher ,给我初始化了一堆乱七八糟的配置在集群里,上百个 secret ,十几个 namespace ,看得好难受,helm 装个东西也是初始化一堆配置

想问下大家都是怎么管理的这些配置的,是直接通过面板管理,还是像我管理 docker 配置一样,全都是配置文件,有更改就 apply 一下,不用面板

3589 次点击
所在节点   Kubernetes  Kubernetes
15 条回复
ss098
ss098
2021-12-06 10:28:22 +08:00
helmfile 非常好用。
mritd
mritd
2021-12-06 10:29:16 +08:00
如果你不想要那个面板,推荐裸装 k3s ,然后把那些没用的 localstorage 啥的全关掉
mritd
mritd
2021-12-06 10:30:12 +08:00
配置文件的话大致还是分两种,一种 “yaml 工程师”,另一种代码化
juzisang
juzisang
2021-12-06 10:32:57 +08:00
@mritd #3 所以还是不用这些面板,全都自己写 yaml 配置部署,这样?主要是 Rancher 这个面板乱七八糟的配置一坨,干嘛得都不知道,看着难受
juzisang
juzisang
2021-12-06 10:34:18 +08:00
@ss098 #1 我看看,感谢
mritd
mritd
2021-12-06 10:44:58 +08:00
@juzisang #4 如果集群不大,或者说硬件撑不起这么多乱七八糟的,推荐还是不要用这些东西; yaml 硬配置的话确实有点烦,现在很多解决防范是以 template 为主;你也可以尝试一下 pulumi 这种通过代码定义基础架构的方式来处理。但是两种无论哪一个,核心还得是让应用统一一些规范,然后才能方便你抽象。
dolphintwo
dolphintwo
2021-12-06 10:51:22 +08:00
Rancher 好用是好用,就是没啥用
offswitch
offswitch
2021-12-06 11:07:24 +08:00
这些 yaml 你可以放到项目里面,方便改;也可以放到 oss 上,CI 构建的时候拉取一下 yaml 文件;对于一些手动的用可视化页面发布,就不用写这些 yaml ; helm 本质上是 yaml,只是把很多东西抽出来单独配置。
defunct9
defunct9
2021-12-06 11:23:54 +08:00
没用过 k3s ,也没用过 rancher ,直接 k8s 。配置 yaml 文件扔 git 里
locoz
locoz
2021-12-06 11:36:38 +08:00
rancher 乱七八糟的东西太多了,我现在都改用 kubesphere + lens 看的,干净很多。然后配置管理强烈推荐 flux ( https://toolkit.fluxcd.io/),你可以基于这个项目来搞: https://github.com/k8s-at-home/template-cluster-k3s
locoz
locoz
2021-12-06 11:38:12 +08:00
另外,如果你还有跨网组集群的需求,可以使用 kilo ( https://kilo.squat.ai/),也是个很方便的工具。
xabcstack
xabcstack
2021-12-06 13:11:15 +08:00
liuxu
2021-12-06 13:13:07 +08:00
上一个用 rancher 的人已经出家了,直接用 k3s 吧
aec4d
2022-01-17 17:53:10 +08:00
@locoz template-cluster-k3s, 这项目写个 yaml 部署能写 6k 行,也不知道写了个啥,我都惊呆了🤯
locoz
2022-01-17 20:49:58 +08:00
@aec4d #14 实际“写”的部分不多,很多都是 crd 之类的,比如 flux 的 gotk-components.yaml 在里面就占了 4k 多。
其实你仔细看一下目录结构的话,就会发现基本就是外面的东西都是做自动化、初始化之类操作的,跟 k8s 里跑的东西本身没啥关系,而 cluster 目录里 base 都是 flux 用的配置、crd 之类的,crds 都是把跑的服务的 crd 单独拿出来放的,真正是会在 k8s 里跑的、自己加入的东西只有 core 和 apps 两个目录。

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

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

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

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

© 2021 V2EX