云原生Devops应用
# Devops体系
Devops 是关于流程和管理,运维和自动化,架构和服务等方面的内容;从技术角度看主要有代码管理、持续构建(CB)、持续集成(CI)、持续部署(CD)、监控与运维、持续测试(CT)、服务治理、代码安全以及容器编排等相关技术
Devops的好处与价值:
- 代码的提交直接触发:消除等待时间,快速反馈
- 每个变化对应一个交付管道:使问题定位和调试变得简单
- 全开发流程高效自动化:稳定,快速,交付结果可预测
- 持续进行自动化回归测试:提升交付质量
- 设施共享并按需提供:资源利用最大化
- 敏捷开发:流程,规范,标准
Devops用的技术工具:
可以采用Git + Gitlab + Jenkins + SonarQube + Keptn + Argo Rollouts + Argo CD 这样的黄金组合做Devops体系架构
Git 做代码版本管理工具,可以采用git flow模式开发
Gitlab 可以做代码仓库管理
swagger 用来做API文档和测试
Jacoco 用来做代码单元测试覆盖率
SonarQube 用来做代码质量和规范校验
Jenkins 是一个流行的开源持续集成与持续交付(CI/CD)工具,用于构建、测试和部署软件应用程序。
Keptn 是一个云原生的自动化运维平台,可以帮助用户在 Kubernetes 上实现全生命周期的自动化运维管理。
Argo Rollouts 是基于 Kubernetes 的灰度发布/蓝绿部署工具,提供了许多高级特性,例如逐步升级、自动回滚等。
Argo CD 是一个基于 GitOps 模型的持续交付工具,用于在 Kubernetes 集群中自动化部署、管理和更新应用程序。
这样的组合可以适用于大规模、复杂的云原生应用程序。该组合具有更高的灵活性和可扩展性,并且可以为团队提供更多的自定义选项和高级特性。
Devops体系最终是一种文化,管理理念,目的让我们的工作更简单,更高效,更自动化,最后是赋能整个团队