上 Kubernetes 后,开发能自己发布吗?

6 小时 3 分钟前
 EthanWalkerTech
最近看了几个团队的发布流程,越看越觉得奇怪:K8s 能不能稳定跑起来是一回事,开发自己能不能顺利发布、出了问题能不能自己查,好像是两件不搭边的事。

见过有的团队开发在 Jenkins 上点一下就上线了;也见过一碰到 Helm values 或者 K8S 参数,开发就得干等着,只能找 DevOps 或运维处理。

现在大家团队里是什么状态,开发自己能发布,还是发布权限其实在少数几个人手里?
1496 次点击
所在节点    程序员
25 条回复
676529483
5 小时 33 分钟前
开发测试环境开发自己发布,线上发布还是要审核的
Ayanokouji
5 小时 33 分钟前
得有 paas 平台啊,不会想开发直接操作 k8s 吧
weiweiwitch
5 小时 29 分钟前
公司内网的 k8s ,开发在 Jenkins 一类的 CICD 平台写点构建部署流水线,就可以自己更新,甚至交给产品自己更新了测试。外面的测试服务器,处于权限、安全、职责分离等原因,就交给专业的运维走正式流程发布更新了。
当然,项目足够小,老板或甲方同意,我们研发也可以自己发布更新。
上 k8s 后,其实更新挺简单的。
Chinchilla500
5 小时 25 分钟前
dev 环境开发自己可以发布,如果 K8S 的密钥能给,Jenkins 能把 CI 、CD 都自动化,发版就点一点,存在的问题就是没有办法设置审批节点,大家都有 dev 、prod 环境的发布权限,会乱套。

建议部署一个 Rancher 管理 K8S ,我们的 dev 、prod 是物理隔离的两套集群,根据环境给各个账号授权,隔离 dev.namespace 和 prod.namespace 。他们要发版就先在 Jenkins 点一点构建好镜像推送 dockerhub ( CI ),然后在 Rancher 里面更新版本号进行发布,领导不让完全自动化,需要人工介入 CD 的流程
EthanWalkerTech
4 小时 37 分钟前
@Chinchilla500 没有审批节点这块,真乱套的时候一般怎么补救?发版前群里喊一声确认,哈哈,还是谁手快谁发
familiar
3 小时 31 分钟前
我们的 ci 是用 gitlab runner 然后用 argo 做 cd ,还有一个 workflow 发布上线平台。dev 环境开发自己可以 workflow 随便自己发。只不过 pod 容量发布时候 workflow 流程会有个自动 job 限制 dev 环境发布的 pod 配置

正式环境就是开发需要提发布单然后发布流程通过钉钉通知 owner 进行审批就能上线了,sre 不参与审批默认直接通过。只有当 pod 配置需要超过 2c4g5pod 这个限制时候流程中才会通知到 sre 进行审批确认最后才能上线
ganbuliao
2 小时 10 分钟前
开发当然能发布啊
但是不会把这个权限给所有的开发
cheng6563
1 小时 50 分钟前
让 AI 发布
xiaonao
1 小时 29 分钟前
我的 dev 、test 环境,开发/测试人员自己配置、发布流水线,生产环境运维来操作,说白了生产环境需要有人背责任
EthanWalkerTech
1 小时 22 分钟前
@familiar 这套 workflow 平台是自己搭的?光审批分级这块就挺细的,大概花了多久做出来?
defunct9
1 小时 15 分钟前
helm+argocd+gitea+tekton+zot+s3 刚弄了这个大全套,都在集群里,这几个东西的持久化卷就用 S3
nofishing
1 小时 5 分钟前
Infra 应该得做到让猪🐷 也能自己发布吧,虽然不是用 k8s 部署微服务,我们做的数据项目,Infra 设计出发点就是必须让不会写代码的小白实习生也能自己照着发布所有数据任务,参照 6 楼。

https://zhiweio.github.io/from-data-to-intelligence/30-%E5%B7%A5%E7%A8%8B%E5%B8%88%E6%97%A5%E5%B8%B8%E5%B7%A5%E4%BD%9C%E6%B5%81%E4%B8%8E%E5%8F%98%E6%9B%B4%E5%9C%BA%E6%99%AF/#_1
fivesmallq
1 小时 1 分钟前
@defunct9 为啥有了 argocd 还用 tekton ,tekton 只做 CI 吗?

我最近落地的时候也调研了一套,最后是 helm+jenkins+coding(已经用很久了,后面切换)+aliyun acr + aliyun oss

因为 k8s 集群就是阿里云的 ack ,镜像服务之前其他部门也在用,就一起用了。

还得弄其他的基础设施,可观测性啥的,事情真不少。。
Martens
56 分钟前
完全的 gitops ,发布更新的开发测试线上环境的时候只需要更新对应的 git 仓库的 yaml ,后面就是流水线全自动了。线上环境对应的 git 仓库 master 权限只有核心有
brom111
52 分钟前
发布权限都是下发给开发和测试。 生产环境发布用流程限制。

我们是比较简单来说就是 gitops 模式。
andrei007
38 分钟前
为什么不能发布?能不能发,很多都时候都是组织问题,部门问题。

只要给了 K8S 密钥,想怎么发就怎么发,至于给不给,开发会不会,那就是上边的问题。
arischow
37 分钟前
infra 可以统一制定 helm / jsonnet / ci ,做一套容器标准化发布
defunct9
36 分钟前
@fivesmallq 是,tekton 相当于你的 jenkins ,用 pipelienrun 触发构建。
EthanWalkerTech
29 分钟前
@fivesmallq 怎么查问题的,几个系统人肉看,还是交给 AI 了?
fivesmallq
19 分钟前
@EthanWalkerTech 都交给 AI 了基本上,有一个仓库专门存放基础设施的各种配置和说明书,有问题了把 log 贴给 AI ,把基础设施仓库和项目仓库扔给 AI ,就等着结果了,k8s 的权限也给他了。

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

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

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

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

© 2021 V2EX