金丹境-第2层 使用Helm 搭建devops流程

DevOps 概述

结为金丹客,方为我辈人。

DevOps 是什么?

DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。——维基百科

也就是说,其实DevOps 的重点在于提高开发和运维的效率,其中主要分为2部分,持续集成(CI) 和持续部署(CD),CI侧重于对于开发铜须代码质量的把控,CD侧重于运维同学交付的标准和结果。 CI 和CD结合在一起,才能产生高性能,低错误的一套交付流程。

在使用过程中,对于开发研发的新功能,持续集成最终通过满足CD条件,即可直接进入CD部署环节,实现代码迭代升级的持续化。在软件开发过程中,无论是开发人员,测试人员,运维人员,项目管理人员等,均可从此流程中获取各个职位关注的信息,减少了因为沟通或者环境或人为因素带来 的错误,极大的提升效率。

image.png

对于K8S 的支持

很多公司使用jenkins 作为CI 的平台,或者也有gitlab 的CICD pipeline 来实现devops 标准,但是和 k8s 结合起来的并不多。 CICD流程的容器化其实在k8s 是非常容易实现的,但是可能搭建的难度稍微高一点,这里成功的阻碍了大多数公司的devops流程的容器化。

通过结合CI 工具(如jenkins ,argo ,travis-ci ,drone )完成持续集成之后,结合Helm 工具,可以更加简化k8s 的部署流程,对于运维来说,更加透明化。

思路

准备条件

  • 代码存储,一般公司有自己的gitlab或gitee,难道还有用svn 的?
  • 提交规范,参考git-flow 规范
  • 静态检查,参考sonarqube 或者其他的静态代码检查工具
  • 单元测试, 不同的build 工具,可以自行寻找组件,一般比较多
  • 项目容器化, 简单点就是项目自己维护自己的Dockerfile, 复杂点用插件
  • nexus 私服
  • 镜像仓库, 可以使用阿里云或者其他的,自己搭建harbor也可以,但是一定是最终网络和k8s 集群的机器是可以互通的
  • build 环境,Docker引擎的支持,Jenkins-X master-slave 集群,以及各种工具镜像,如maven ,gradle 等。
  • 基础镜像的支持,一般公司都会有自己的企业基础镜像吧,这样后期改点东西比较简单
  • helm 工具,helm 环境
  • 整个流程遵循pipeline 规范
  • 遵循pipeline ,需要一个共享存储服务,可以使用nfs 搭建或者ceph

以上,所有的组件均可以在k8s 平台上实现。

使用Helm 安装Jenkins

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这是一家什么样的公司?什么样的公司值得大学英语老师放弃稳定的工作来到这里?什么样的公司值得一位女性脱下身上军装抛弃...
    Eve呢阅读 438评论 2 2
  • 心安,心不安,杂念,杂草丛生,清理
    唐空空阅读 137评论 0 0
  • ↗☼☽★㊋☄ 你,你你中有你,你你中有我。我,我我中有你,我我中有我。 我要管的你,不是你你中有你的你,也不是你你...
    寶傳的心阅读 275评论 1 0
  • 作为一个老师,我从教若干年,看到了那么多学生离开了学校的大门,走向了世界的每个角落,他们的成功是他们自己努力的结果...
    我是冯雷阅读 342评论 0 0

友情链接更多精彩内容