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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/612026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hello 2024

Hello 2024 A. Wallet Exchange 题意:Alice和Bob各有a和b枚硬币,每次他们可以选择交换硬币或者保留,然后扣除当前一枚手中的硬币,当一方没得扣另一方就赢了。 思路:Alice先手,所以当硬币和为奇数时Alice…

java-Exchanger详解

1.概述 java.util.concurrent.Exchanger。这在Java中作为两个线程之间交换对象的公共点。 2.Exchanger简介 Exchanger类可用于在两个类型为T的线程之间共享对象。该类仅提供了一个重载的方法exchange(T t)。 当调用exchanger时,它会等待成对的另一个线程也调用它…

安装pillow遇到的问题

文章目录 引言简介目的 安装Pillow基本步骤 常见问题及其解决方案1. 编译依赖不足描述解决方案 2. 权限问题描述解决方案 3. 版本冲突描述解决方案 4. 安装在错误的Python版本上描述解决方案 5. 操作系统特定的问题描述解决方案 总结 引言 简介 Pillow库是Python的一个开源库…

大学生如何当一个程序员——第三篇:职场软实力

职场软实力 1.职场软实力是什么?2.形象气质和社交礼仪3.声音素质4.情商5.沟通力6.说服力7.说服力之销售8.演讲力9.领导力 文章出自https://www.bjsxt.com/xiulian.html#1F 各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料&#xf…

java 中类库的根类 Object 与 toString() 和 equals() 方法

JDK 类库的根类:Object 1、这个根类中的方法我们需要先研究一下,因为这些方法都是所有子类通用的。 任何一个类默认继承Object。就算没有直接继承,最终也会间接继承。 2、Object 类当中有哪些常用的方法? 我们去哪里找这些方法呢&…

Centos7升级openssl到openssl1.1.1

Centos7升级openssl到openssl1.1.1 1、先查看openssl版本:openssl version 2、Centos7升级openssl到openssl1.1.1 升级步骤 #1、更新所有现有的软件包列表并安装最新的软件包: $sudo yum update #2、接下来,我们需要从源代码编译和构建OpenS…

java基本类型与包装类型之间的关系

JAVA基本类型和包装类型 前言 Java语言中的数据类型分为基本数据类型和引用类型,而我们进行Java开发的时候都听说过基本数据类型和包装类型,今天我们就来详细聊一聊Java中的基本数据类型和包装类型之间的区别。 基本数据类型 Java中的基本数据类型一共有…

网工内推 | 上市公司网工,NP认证优先,最高15薪+项目奖金

01 广东轩辕网络科技股份有限公司 招聘岗位:网络工程师 职责描述: 1、主要负责教育行业园区网的有线及无线网络项目的实施、维护、巡检等工作; 2、协助windows/linux平台服务器OS的安装、部署、配置与维护; 3、协助服务器、存储、…

Fluids —— Minimal fluid setups

目录 Waterline FLIP Boundary Boundary flow 创建流体设置的三个基本方法; Waterline 由FLIP Container SOP与FLIP Solver SOP组成的基本network,可不需要任何外部源; FLIP Container SOP,能使用不同的容器形状;F…

vue element plus Virtualized Select 虚拟化选择器

TIP 这个组件目前在测试当中&#xff0c;如果在使用中发现任何漏洞和问题&#xff0c;请在 GitHub 中提交 issue 以便我们进行处理。 TIP 在 SSR 场景下&#xff0c;您需要将组件包裹在 <client-only></client-only> 之中 (如: Nuxt) 和 SSG (例如: VitePress).…

真心建议,幼师姐妹刷到一定要存下啊

幼师姐妹还不知道&#xff1f;但凡早点发现这个好东西&#xff0c;我也不至于天天加班写各种报告了啊&#xff0c;真的写什么都行&#xff0c;什么总结&#xff0c;教案&#xff0c;评语&#xff0c;日报等等 都能写啊&#xff01;&#xff01;&#xff01;

2024年1月10日最热AI论文Top5:DebugBench、AI智能体对齐、开放域问答系统、谈判游戏、联邦学习

本文整理了今日发表在ArXiv上的AI论文中最热门的TOP5。 论文热度排序、论文标签、中文标题、推荐理由和论文摘要均由赛博马良平台&#xff08;saibomaliang.com&#xff09;上的智能体 「AI论文解读达人」 提供。 如需查看其他热门论文&#xff0c;欢迎移步 saibomaliang.com…

使用FFmpeg+EasyDarwin搭建音视频推拉流测试环境

1. 前言 在上一篇文章《使用VS2017在win10 x64上编译调试FFmpeg&#xff08;附源码和虚拟机下载&#xff09;》中&#xff0c;我们讲解了如何搭建FFmpeg源码编译和调试环境。 调试FFmpeg&#xff0c;还需要搭建流媒体服务器。流媒体服务器的作用是通过网络对外提供音视频服务…

前端插件库-VUE3 使用 JSEncrypt 插件

JSEncrypt 是一个用于在客户端进行加密的 JavaScript 库。它基于 RSA 加密算法&#xff0c;可以用于在浏览器中对数据进行加密和解密操作。 以下是使用 JSEncrypt 进行加密和解密的基本示例&#xff1a; 第一步&#xff1a;安装 JSEncrypt 首先&#xff0c;你需要引入 JSEn…

LeetCode 2696.删除子串后的字符串最小长度:栈

【LetMeFly】2696.删除子串后的字符串最小长度&#xff1a;栈 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-string-length-after-removing-substrings/ 给你一个仅由 大写 英文字符组成的字符串 s 。 你可以对此字符串执行一些操作&#xff0c;在每一步操…

export default 和exprot

1.默认导入和默认导出 语法: export default {需要输出的内容} 接收: import 成员变量的名字 from 文件夹的路径 案例&#xff1a; a.mjs文件夹下默认导出 export default{a:10,b:20,show(){console.log(123);} } 在b.mjs文件中用成员变量进行接收 import AA from &q…

vue上传文件时显示上传进度

要在Vue中显示文件上传进度&#xff0c;可以使用axios库来处理文件上传&#xff0c;并使用axios的onUploadProgress方法获取上传进度。 首先&#xff0c;确保你已经安装了axios库。可以使用npm或yarn安装&#xff0c;在终端中运行以下命令&#xff1a; npm install axios或者…

Vue 自定义仿word表单录入之单选按钮组件

因项目需要&#xff0c;要实现仿word方式录入数据&#xff0c;要实现鼠标经过时才显示编辑组件&#xff0c;预览及离开后则显示具体的文字。 鼠标经过时显示 正常显示及离开时显示 组件代码 <template ><div class"pager-input flex border-box full-width fl…

【Java】多pdf文件合并为一个.docx文件

当将多个 PDF 文件合并成单个 DOCX 文档时&#xff0c;利用 Java 中的 Apache PDFBox 和 Apache POI 库可以实现这一目标。这个过程可以分为几个步骤&#xff1a; 1. 导入所需的库 使用 Apache PDFBox 和 Apache POI 库来处理 PDF 和 DOCX 文件。你需要导入相关库&#xff0c…

Python快速排序

快速排序是一种常用的排序算法&#xff0c;它通过递归地将数组分割成较小的子数组&#xff0c;然后对这些子数组进行排序&#xff0c;最终将它们合并成一个有序的数组。具体步骤如下&#xff1a; 1. 选择一个基准元素&#xff0c;通常是数组中的第一个元素。 2. 将数组分成两部…