最近看了几个团队的发布流程,越看越觉得奇怪:K8s 能不能稳定跑起来是一回事,开发自己能不能顺利发布、出了问题能不能自己查,好像是两件不搭边的事。 见过有的团队开发在 Jenkins 上点一下就上线了;也见过一碰到 Helm values 或者 K8S 参数,开发就得干等着,只能找 DevOps 或运维处理。 现在大家团队里是什么状态,开发自己能发布,还是发布权限其实在少数几个人手里? kubernetes, 发布, DevOps
公司内网的 k8s ,开发在 Jenkins 一类的 CICD 平台写点构建部署流水线,就可以自己更新,甚至交给产品自己更新了测试。外面的测试服务器,处于权限、安全、职责分离等原因,就交给专业的运维走正式流程发布更新了。 当然,项目足够小,老板或甲方同意,我们研发也可以自己发布更新。 上 k8s 后,其实更新挺简单的。
dev 环境开发自己可以发布,如果 K8S 的密钥能给,Jenkins 能把 CI 、CD 都自动化,发版就点一点,存在的问题就是没有办法设置审批节点,大家都有 dev 、prod 环境的发布权限,会乱套。 建议部署一个 Rancher 管理 K8S ,我们的 dev 、prod 是物理隔离的两套集群,根据环境给各个账号授权,隔离 dev.namespace 和 prod.namespace 。他们要发版就先在 Jenkins 点一点构建好镜像推送 dockerhub ( CI ),然后在 Rancher 里面更新版本号进行发布,领导不让完全自动化,需要人工介入 CD 的流程