前端要了解的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/

相关推荐
风曦Kisaki2 小时前
Kubernetes(K8s)笔记Day06: 持久化存储(emptyDir,hostPath,NFS),PV 和 PVC,StorageClass存储类
linux·运维·笔记·云原生·容器·kubernetes
Crazy________6 小时前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式
生活爱好者!8 小时前
NAS还能用来开视频会议?docker一键部署MiroTalk SFU
运维·docker·容器
xiaoxiangsiyan8 小时前
GitLab CI/CD 自托管(EE 企业版)+ Kubernetes Runner 集群 + ArgoCD(GitOps 部署)
运维·网络·ci/cd·容器·kubernetes·gitlab·argocd
PC2005-cloud8 小时前
KubeSphere 安装到插件管理实战:本地 K8s 搭建可视化容器平台
云原生·容器·kubernetes
heimeiyingwang9 小时前
【CI/CD·Jenkins篇】环境搭建:从零部署 Jenkins 主从架构
ci/cd·jenkins
众人皆醒我独醉10 小时前
KServe:Kubernetes 原生的模型推理平台——把 vLLM/TGI/Triton 变成 Serverless
人工智能·ci/cd·面试
沉迷学习 日益消瘦10 小时前
19-集群升级与维护
kubernetes
heimeiyingwang10 小时前
【CI/CD·Jenkins篇】Pipeline 基础:Declarative 与 Scripted 语法详解
ci/cd·pipeline·jenkins
凌虚11 小时前
Kubernetes 编年史:从 Borg 到云原生操作系统
后端·程序员·kubernetes