本文主要介绍 DevOps 的 8 大关键实践在 Kubernetes 平台下如何落地,结合我们目前基于 Kubernetes 平台的 DevOps 实践谈谈是如何贯彻相关理念的,这里不会对其具体实现细节进行深入讲解,只做一个大致的概括的描述,分享下已有的实践,具体实践细节有时间了会单独整理一篇文章分享。

DevOps 简介

DevOps 集文化理念、实践和工具于一身,可以提高企业高速交付应用程序和服务的能力,与使用传统软件开发和基础设施管理流程相比,能够帮助企业更快地发展和改进产品。

Goals

The goals of DevOps span the entire delivery pipeline. They include:

  • Improved deployment frequency;
  • Faster time to market;
  • Lower failure rate of new releases;
  • Shortened lead time between fixes;
  • Faster mean time to recovery (in the event of a new release crashing or otherwise disabling the current system).

DevOps 的 8 大关键实践在Kubernetes 平台下的落地

下面为基于 Kubernetes 的 CI/CD 流水线整体实践,使用 Kubernetes + Docker + Jenkins + Helm + Harbor等云原生工具链来构建 CI/CD 管道,基于云平台构建:

图中采用gcr 谷歌镜像仓库,本地测试可以使用Harbor作为私有镜像仓库。

1. Configuration Management

关于配置文件的管理我们统一使用 Kubernetes 提供的 configmap 和 secret 资源对象来实现,对于一般的应用配置使用 configmap 管理,对于敏感数据使用 secret 存储。

2. Release Management

关于发布管理,使用 Helm 工具统一以 Chart 的方式打包并发布应用,维护每个微服务的历史版本,可以按需回滚。应用的镜像版本统一存储到一个 Docker 私服。

3. Continuous Integration

关于持续集成整合了一套完全开源的工具链:Gitlab + Maven + Jenkins + TestNg + SonarQuebe + Allure。Jenkins 运行在 Kubernetes 集群中,所有的工具链都以容器的方式运行,按需定义并使用,无需单独安装维护。

4. Continuous Deployment

关于持续部署方面做需要形成完整的 Pipeline和适配的Pipeline,整个自动化 Pipeline 进行到预发布环境,对于生产环境发布,研发人员自助式点击另一个单独的部署 Pipeline Job 进行部署,选择镜像版本进行发布。

5. Infrastructure as Code

基础架构即代码的指的是所有软件基础设施的管理维护都以代码的方式管理起来,对于基础设施资源的创建、销毁、变更,不再是人工通过界面化点触式管理,所有这些更改都基于代码的提交变更和一套自动化框架。比如知名的 Terraform 就是一个业界比较流行的 IaC 框架,专门用于代码化管理云基础设施。在 Infrastructure as Code 方面,其实 Kubernetes 完全契合这一点,所有的基础架构及应用服务都可以被抽象成 API 资源对象,我们只需要按需定义 yaml 资源文件即可快速生成相应的资源。比如我们需要一个 Redis 中间件,那么只需要编写一个声明式 yaml 文件,定义需要的配置、版本等信息即可以容器的方式在 k8s 集群中运行起来。最终只需要在 git 代码仓库维护这些 yaml 文件即可。

6. Test Automation

关于测试自动化,目前主要有三种类型的测试:单元测试、后端接口测试、UI 自动化测试。所有的这些测试都集成在 Jenkins pipeline 中。后端接口测试和 UI 测试除了在自动化 Pipeline 中运行,还会每天定时跑测试,最终的测试报告统一收集到 Reportportal 报表平台。

7. Application Performance Monitoring

关于应用监控采用云原生架构下的最佳实践: Prometheus 监控栈

8.Log collection

关于日志采集基于 EFK 技术栈

相关文档

https://www.wikiwand.com/en/DevOps#/Definitions_and_history

https://qhh.me/2019/09/07/%E5%9F%BA%E4%BA%8E-Kubernetes-%E7%9A%84-7-%E5%A4%A7-DevOps-%E5%85%B3%E9%94%AE%E5%AE%9E%E8%B7%B5/

围绕 Kubernetes 的 8 大 DevOps 生产关键实践的更多相关文章

  1. Splunk 会议回想: 大数据的关键是机器学习

    作者 Jonathan Allen ,译者 张晓鹏 Splunk的用户大会已经接近尾声.三天时间的会议里,共进行了160多个主题研讨.涵盖了从安全.运营到商业智能.甚至包含物联网,会议中一遍又一遍出现 ...

  2. 附024.Kubernetes全系列大总结

    Kubernetes全系列总结如下,后期不定期更新.欢迎基于学习.交流目的的转载和分享,禁止任何商业盗用,同时希望能带上原文出处,尊重ITer的成果,也是尊重知识.若发现任何错误或纰漏,留言反馈或右侧 ...

  3. Kubernetes 在网易云中的落地优化实践

    本文来自网易云社区 今天我跟大家讲的是 Kubernetes 在网易的一些实践,目的是抛砖引玉,看看大家在这个方向有没有更好的实践方法.简单介绍一下网易云.网易云是从最早 Kubernetes 1.0 ...

  4. 039.[转] 基于 Kubernetes 和 Spring Cloud 的微服务化实践

    http://dockone.io/article/2967 基于 Kubernetes 和 Spring Cloud 的微服务化实践 写在前面 网易云容器平台期望能给实施了微服务架构的团队提供完整的 ...

  5. 「DevOps 转型与实践」沙龙回顾第一讲

    9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束.本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网.金融 ...

  6. 「DevOps 转型与实践」沙龙回顾第二讲

    背景介绍 本期分享内容为<平台化 DevOps-云计算与云原生模式下 DevOps 的建设实践>.目前,DevOps 越来越成为大家当前建设的热点,伴随着基础设施的转型和应用框架的转型,更 ...

  7. 从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

    2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台.该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部 ...

  8. web资源预加载-生产环境实践

    此文记录资源预加载在我们项目的实践,技术难度不算高,重在介绍一套技术方案的诞生与实施,其中都进行了哪些思考,依据什么来做决策,如何进行效果评估,等等.为读者在制定技术方案时提供一定启示. 背景 资源预 ...

  9. DevOps理论+实践之路

    DevOps理论+实践之路  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关注 ...

随机推荐

  1. MacBook Pro 2019 13 inch & screen blink

    MacBook Pro 2019 13 inch & screen blink MacBook Pro 闪屏 https://macreports.com/mac-how-to-trouble ...

  2. nasm astrncmp函数 x86

    xxx.asm: %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export as ...

  3. Flutter 删除AppBar的返回icon

    设置automaticallyImplyLeading: false即可,替换可以修改"leading"参数 ... appBar: AppBar( automaticallyIm ...

  4. DENIEL SOIBIM:真正自律的人都在做这些事情!

    生活节奏的加快,使得很多人无法适从.很多人,浑浑噩噩,庸庸碌碌,觉得一天做了很多事,却总是一事无成.还有些人,觉得得过且过也很好,但是到头来,却让自己陷入慌乱之中.本想要自由自在的生活,但是却往往却被 ...

  5. 详解稳定币圣杯USDN

    稳定币飞速发展,USDN 一骑绝尘,但因合规问题饱受质疑.合规稳定币作为后来者,奋起直追,亦光耀夺目.而更符合区块链精神的稳定币(抵押其他资产生成稳定币),长期以来只有 Maker 的 DAI 能够在 ...

  6. 「NGK每日快讯」12.17日NGK第44期官方快讯!

  7. 【DB宝19】在Docker中使用MySQL高可用之MHA

    目录 一.MHA简介和架构 1.1 MHA简介 1.2 MHA工具包的组成 1.3 MHA架构 二.准备MHA环境 2.1 下载MHA镜像 2.2 编辑yml文件,创建MHA相关容器 2.3 安装do ...

  8. Vue和Element基础使用,综合案例学生列表实现

    知识点梳理 课堂讲义 1.Vue 快速入门 1.1.Vue的介绍 Vue是一套构建用户界面的渐进式前端框架. 只关注视图层,并且非常容易学习,还可以很方便的与其它库或已有项目整合. 通过尽可能简单的A ...

  9. 关于GitHub 搭建 Hexo 总结

    问题描述 在更新上传了一篇新博客后,本地运行http://localhost:4001正常,而连接到Github仓库便爆出404错误. 更新博客后,依次执行: 1 hexo clean 2 hexo ...

  10. 企业安全_检测SQL注入的一些方式探讨

    目录 寻找SQL注入点的 way MySQL Inject 入门案例 自动化审计的尝试之旅 人工审计才能保证精度 寻找SQL注入点的 way 在企业中有如下几种方式可以选择: 自动化 - 白盒基于源码 ...