emotion Motivation 在KubeSphere的使用过程中,开发人员发布应用时仍然需要关注容器的性能参数配置,健康检查探针,容器基础镜像地址,环境变量。而大多开发人员当前并不具备K8S使用和维护水平,也不具备空闲的时间去掌握该项技术,且在KS的使用过程中,每次应用发布都需要在界面进行设置。 Goals 我们希望开发人员能更专注于开发而不是k8s或容器参数设置,能通过更简易的方式发布自己的应用。 Proposal 部署模板管理: 在"项目"-"配置中心"新增部署模板管理功能,可通过CRD实现和管理。 通过类似configmap设置键值对的方式,来定义容器基本配置,包括request、limit,健康检查探针,基础镜像,环境变量、服务端口等。进而设置和管理部署模板。 部署模板的使用: 在项目-应用负载-应用-自制应用中构建自制应用时,可通过下拉列表选择已经设定好的部署模板。 在为应用添加无状态服务,设置容器镜像时,可加载预置模板中信息。将部署模板中设定好的参数预填至容器设置中,如需要改动,可按原无状态服务方式进行改动。 3.在为无状态服务挂载存储卷时,可进行类似有状态服务存储卷模板管理方式操作,来创建和挂载存储卷。使用SC自动创建、volumeMounts进行挂载
ZhangFugui emotion Feynman 提供可复用的配置模板是一个可以减少重复工作量的很好的思路,但是我有2个疑问,1是这个问题貌似并不能解决“而大多开发人员当前并不具备K8S使用和维护水平,也不具备空闲的时间去掌握该项技术”这个问题,针对不掌握K8s知识的研发让他们去做这种类似configmap的配置会不会反而增加他们的学习成本? 2一般企业或者您这边发布应用的规模和频率大概多少,可以给个数据参考下不
emotion ZhangFugui 大型企业的发布通常具备统一标准(例如什么样的应用使用多少资源),每次的无状态应用发布都需要调整和配置各项参数的确是一个繁琐的问题。 敏捷开发的前提下,根据企业的管理体制和组织结构划分,应用的发布可能是由开发人员自己进行,而并不经过运维人员。运维人员可根据SRE的要求和应用类型制定模板(除了资源限制,也可以涵盖SecurityContext、亲和性等),开发人员只管选择和使用,不需要接触这deployment spec下的各种参数,后期这种配置可以衍生为完全可视化的模板配置。正类似于基于IaaS云的开发模式,开发人员只用申请虚拟机,而不需要去装操作系统。 这个没有统计