1,了解k8s
简单的理解,k8s就是docker容器集群的管理工具。他将容器进行更多自动化的操作,自动创建、自动重启、自动扩容等,这个过程称为容器编排。
k8s抽象了硬件资源,将N台物理机或云主机抽象成一个资源池,容器的调度交给K8S(例如CPU 不够用就调度到一台足够使用的机器上;服务因为某些原因挂了, K8S会帮我们自动迁移重启)
2,k8s的优点
轻量级、效率高、弹性管理(当容器增多和减少时,可以很简单的改变资源的利用)、负载均衡。
k8s可确保各pod(包含一个或多个容器)之间的安全网络通信。
k8s支持将docker容器化应用平滑的迁移过去。
k8s还支持选择Jenkins、GitLab CI等工具进行CI/CD的流水线配置,实现流水线自动化部署。
3,了解CI/CD
CI/CD的核心概念就是持续集成、持续交付、持续部署。他可以让自动化持续贯穿应用的整个生命周期(从集成、测试、到交付、部署)。
CI持续集成(Continuous Integration):
为多个人员开发同一个应用的不同模块/功能提供了方便。每个开发人员都可以在自己的分支开发新功能,CI保证了在每个开发者将自己的代码合并到主分支时,可以自动构建应用并运行不同级别的自动化测试来验证当前开发者的修改,来确保整个应用没有遭到破坏。
CD持续交付(Continuous Delivery):
CD持续交付的核心是建立一个可随时将开发环境的功能部署到生产环境的代码库。CI 在完成了构建、单元测试、集成测试这些自动化流程后,CD持续交付可以自动把已验证的代码发布到存储库,以方便后续团队之间部署生产环境。
CD持续部署(Continuous Deployment):
CD持续部署是CD持续交付的延伸,他可以将应用自动发布到生产环境。意味着开发人员对应用的改动,在编写完成后的几分钟内就能及时生效(前提是它通过了自动化测试)。
CI/CD工具:
Jenkins,CircleCI,Bamboo等
4,了解DevOps
DevOps是一个软件开发的模式,他的目的就是为了可以更快速更可靠的构建出高质量的软件。
传统的开发流程是 需求分析=> 代码开发=> 打包构建=> 用例测试=> 上线部署=> 项目运营=> 埋点或异常监控。对应的岗位通常会有开发、测试、运维3个,而在DevOps出现后,只需1个岗位即可。
CI/CD就是DevOps开发模式的一种实现。
5,总结
综上,可以基于docker、k8s、gitLab CI/CD打造一套完整的自动化构建部署流程。可参考CI/CD系列 | 一步上手Gitlab CI/CD - 掘金文章来源:https://www.toymoban.com/news/detail-780135.html
Gitlab CI/CD 官方文档:docs.gitlab.com/ee/ci/文章来源地址https://www.toymoban.com/news/detail-780135.html
到了这里,关于前端要了解的k8s、CI/CD、Devops概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!