前端要了解的k8s、CI/CD、Devops概念

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 - 掘金

Gitlab CI/CD 官方文档:docs.gitlab.com/ee/ci/

相关推荐
自律的kkk2 分钟前
docker配置镜像加速器
运维·docker·容器
vivo互联网技术1 小时前
vivo 全链路多版本开发测试环境落地实践
devops·测试环境·流量染色
青云交2 小时前
大数据新视界 --大数据大厂之Kubernetes与大数据:容器化部署的最佳实践
数据库·kubernetes·容器编排·资源管理·大数据处理·扩展性、故障恢复·存储持久化·监控、日志管理、性能提升
苏少朋2 小时前
Docker安装 ▎Docker详细讲解 ▎数据卷挂载 ▎Nginx安装理解
linux·nginx·docker·容器
晚枫20002 小时前
kafka发送事件的几种方式
spring boot·分布式·docker·容器·kafka·intellij-idea·linq
cn_newer2 小时前
gitlab/极狐-离线包下载地址
gitlab·devops·极狐·离线包下载
StevenZeng学堂3 小时前
【Kubernetes笔记】为什么DNS解析会超时?
网络协议·docker·云原生·kubernetes
云计算练习生4 小时前
深入剖析Docker容器安全:挑战与应对策略
安全·docker·容器
wellshake6 小时前
在 Docker 中部署无头 Chrome:在 Browserless 中运行
chrome·docker·容器
大白菜和MySQL17 小时前
rockylinux9.4单master节点k8s1.28集群部署
云原生·容器·kubernetes