环境管理
K8S公共集群
可以使用在公司资源池创建的K8S集群创建环境,也可以使用其他外部云服务商的集群创建环境(前提是能够正常访问到K8S的API)。
不同的K8S环境可以使用相同的K8S集群,但必须通过不同的namespace加以区分。
K8S私有集群
一般在生产环境下,不同部门使用的是不同的K8S集群,甚至运维也是不同的人在运维,所以一个公司会有很多个生产集群供不同项目选择使用,但是开发环境、测试环境可以统一使用一个公共大集群,方便大家统一环境,快速构建测试生产环境。
私有K8S集群接入主要依赖Config.yml,进入导入,然后调用K8S SDK进行环境校验接入。
部署管理
基本信息
写入部署基本信息,如名称、部署的环境、镜像地址、Docker仓库鉴权选择等
部署配置
部署配置,主要就是把K8S的常用信息,如Deployment、ConfiMap、服务暴露等信息进行可视化页面操作。
Deployment在K8S中就是最主要的,主要包含多个Pod,如最大最小内存、最大最小CPU限制,这样设置后也会保护我们的主机
ConfigMap
ConfigMap是K8S中可用于存储配置信息的一种资源对象,
您可以在此处上传应用在该环境运行时需要的配置文件,
部署任务执行时对这些文件将以ConfigMap的方式挂载到应用容器中指定的目录下。
服务暴露:Service
K8S的Service主要分两种,ClusterIP和Nodeport。
ClusterIP仅能在K8S集群内部通过 [内部访问地址] 访问。
NodePort除了支持内部访问外,还可以通过K8S任一节点IP及映射的端口号进行访问。
服务暴露:Ingress
Ingress相当于K8S集群的流量入口(后端通过Nginx实现),根据Host和Path判断把流量分发到具体的后端应用。
填写的Host不会自动解析到K8S集群入口,需要用户自行解析到集群任一节点的IP。
Ingress仅支持以HTTP协议提供服务的应用从K8S外部访问,访问端口号一律是80。
服务暴露:GRPC Ingress
GRPC Ingress用于代理GRPC类型的服务。
如果调用者与GRPC服务在同一个K8S集群中,可直接通过列表中的访问地址进行访问,无须加端口。
如果调用者与GRPC服务不在用一个K8S集群中,则访问者需要绑Hosts,域名为访问地址。
应用管理
支持查看Pod实例
支持K8S在线扩缩容等操作,查看K8S Deployment描述文件等。
流水线管理
企业级持续集成和持续交付工具,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线CICD过程。通过持续向团队提供及时反馈,让交付过程高效顺畅。
最佳实践
我们在实际应用的过程中,通常把我们的单元测试、代码扫描等,构建,部署统一添加到一个流水线中,然后当代码提交时,出发WebHook进行出发流水线。
基本信息
工作流
构建: 支持以Docker镜像的方式封装测试所需的运行环境,然后执行自定义的测试过程,在工作流程进入交付环节之前保证代码达到必要的质量。
部署: 结合实际的软件发布流程,以已有的应用部署任务为核心。
单元测试: 使用已有的测试任务为持续交付流程提供测试功能。
卡点操作: 可通过卡点实现流水线执行过程的人工审核机制,也可以在卡点阶段执行外部依赖操作,提高流程的合理性。
代码扫描: 通过HTTP方式调用外部接口,实现CICD工作流与外部能力快速集成。
效能看板
效能看板一款专业的交付过程观测和研发效能度量分析工具,从计划、执行、风险等 6 个方面度量交付过程、暴露交付风险、保障交付效率和质量,通过流动效率、资源效率、质量保障 3 个维度可视化团队效能状态、深入分析问题、精准指导效能改进。
整体说明
前面我们用到了很多的开源组件:如Gitlab、禅道、Jenkins等
是一整套完整的DevOps工具链,我们也参数了很多的数据集
当然领导最喜欢的就是看报表、看板、我们可以根据不同公司、不同维度、进行指标库统一创建、然后进行不同部门不同指标自定义展示。
功能描述
项目交付过程度量
度量项目的交付过程,跟进计划和执行,及时发现问题和偏差
帮助管理者保障项目交付的规范、效率和质量
团队资源可视化
可视化团队资源规划,即时反映团队中人力的分配、工作负荷和产出效率
帮助管理者精准调配人力、优化资源配置,并客观评价资源产出能力,有针对地提升组织效能
研发效能度量和分析
基于专业的效能模型,客观评价团队效能状态,分析效能问题
让效能状态一目了然,改进有据可依,改进结果可量化
权威的研发效能度量解读
为各个报表和度量指标提供系统的解读,帮助团队深入理解度量指标含义和使用方法
面向各个场景,提供度量方案设计建议,提升方案的可行性和落地效果
写完啦
CICD篇算是告一段落啦,过程中,只描述了大概的一些信息,细节方面都没有详细列出,毕竟DevOps不是三言两语就能很好的概括的,只是在这里写了一个大致的方向,供大家参考。
企业级DevOps平台搭建及技术选型-项目管理篇
https://rundreams.blog.csdn.net/article/details/127451055
当然如有问题沟通,也可以私信与我交流,谢谢。