【Kubernetes】CI/CD 简介与 ECS 服务规划

news2024/11/16 1:22:38

一,前言

去年公司上了一个持续集成平台,设计技术组件与开源工具集,大致如下:

  • 使用 Gitlab 作为代码的管理和托管工具;
  • 使用 Gitlab CI 持续集成工具;
  • 使用 Docker 开源应用容器引擎;
  • 使用 Harbor 企业级 Docker 私有镜像仓库;
  • 使用 Kubernetes 作为容器编排和管理工具;
  • 使用 Helm 作为 Kubernetes 的包管理器;

结合上述技术特点,以 k8s 的使用为核心,从 0 到 1 实现一个前后端项目的持续集成;

主要内容:

  • ci/cd 简介;
  • 服务规划及阿里云 ECS 服务器采购;
  • 环境安装:Linux+Git+Jenkins+Docker+k8s集群;
  • docker 的使用(后续将会写在另外一个专栏)
  • k8s 的配置和使用;

二,CI/CD 简介

1,持续构建(CI)

  • 持续构建环节不参与部署,只负责构建代码并将制品上传至制品库;
  • 比如:使用 Jenkins 拉取仓库代码 -> 执行预置脚本构建制品(docker 镜像),将制品推送至制品库(docker 镜像仓库);
  • 常用工具:Gitlab CI,Github CI,Jenkins 等;

持续构建

2,持续部署、持续交付(CD)

CD 有 2 层含义: 持续部署(Continuous Deployment) 和 持续交付(Continuous Delivery) ;

  • 持续交付:在持续集成的基础上,将集成后的代码或镜像制品部署到接近真实环境的「类生产环境」,交付给客户提前测试;

持续交付

  • 持续部署:在持续交付的基础上,把部署到生产环境的过程自动化;

持续部署

三,服务器规划

搭建基于 k8s 的 CI/CD 环境,最少需要准备 3 台服务器:

  • 1 台用于做 ci 构建机,构建镜像(最低配置需要满足 2c4g);
  • 2 台用于做 K8S 集群,主从各一台:master + node;
ECS 配置启动服务说明
2核4GJenkins + Nexus + Dockerci-server
2核4GDocker + Kubernetesk8s-master
1核1GDocker + Kubernetesk8s-node

备注:
有条件的话,最好准备 4 台服务器,k8s 集群使用1 主 + 2 从的配置,可以测试任务分配和负载均衡;
按需付费,每小时每台大概 0.2~0.3 元,3 台服务器每天约15 元左右,每月约450元还是挺烧钱的;

以下是正常情况下,三台服务一天的费用情况:
ECS


四,结尾

下一篇,购买并配置阿里云 ECS 实例;

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

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

相关文章

ABO溶血症概率

[简介]ABO溶血是由于母亲和胎儿ABO血型不合引起的新生儿溶血,概率不是很大,一般出现在准妈妈是O血,准爸爸是非O血,这次容易发生血型不合,但新生儿ABO溶血概率不高,大多数症状相对较轻。ABO溶血的概率是什么…

2023美赛必须注意事项

文章目录首页部分要求竞赛期间题目查看题目下载论文要求比赛提示控制号提交解决方案更多注意事项首页部分要求 具体如下: 我提取一些关键词如下: 第一页:摘要页字体要求:12点的 Times New Roman 字体请勿在此页面或任何页面上…

几种在Linux/window下查询外网IP的办法。

hello world curl ifconfig.me/ip如下图 1. 纯文本 https://ifconfig.me/ip https://ipinfo.io/ip 或 https://ipecho.net/ip 或 https://ipecho.net/plain https://www.trackip.net/ip https://icanhazip.com 2. JSON格式 https://ifconfig.me/all.json https://ipi…

见微可视化平台研究(一)

1. Python项目部署 使用容器部署 将Dockerfile拷贝道algo目录: # docker build -t algo:v1 . # docker run -d -p 5000:5000 algo:v12. 部署依赖数据库 2.1 MySQL初始化 MySQL安装忽略,初始化脚本: backend/datascience-service/src/mai…

从0到1一步一步玩转openEuler--16 openEuler使用DNF(YUM)管理软件包组

文章目录16.1 列出软件包组清单16.2 显示软件包组信息16.3 安装软件包组16.4 删除软件包组DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸载软件包,…

扬帆策略|10万亿市场疯狂反攻,撑爆5万人,大牛市要来了?

今日商场太强了,很多财物都在猛涨,有一种牛市已来的感觉! 首先,来看一向被我们视为核心财物的茅台酒价。据白酒数据渠道“不贰酱”音讯,今日茅台酒行情价全线大涨。飞天方面,全系列又有20元/瓶的涨幅&#…

c++11 标准模板(STL)(std::multimap)(八)

定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…

Compose Recomposer启动流程分析

初始组合流程开始的第一步就是创建 Recomposer 。 接着 Recomposer 又作为构造参数创建了 CompositionImpl 、 ComposerImpl &#xff0c;又在 AndroidComposeView#onAttachedToWindow() 触发 onViewTreeOwnersAvailable 回后&#xff0c;调用 composeInitial() 开启初始组合。…

java连接docker里面的hbase

原代码代码一直卡着报错如下&#xff1a;java.io.UncheckedI0Exception:org.apache.hadoop.hbase.client.RetriesExhaustedException: Cant get the location for replica 0at org.apache.hadoop.hbase.client.ResultScanner$1.hasNext(ResultScanner.java:55)at hbase.SelectS…

基于C++的考试系统

一、需求分析 ​ 设计一个简单的考试系统&#xff0c;可进行C与Java的考试&#xff0c;考生姓名、考生学号、C题目、Java题目、C答案&#xff0c;Java答案分别存入…/txt文件数据/路径下的StudentsName、StudentsNum、QuestionC&#xff0c;QuestionJ、AnswerC、AnswerJtxt文件…

【一般人不会告诉你】比肩chatgtp的5款AI网站

话不多说&#xff0c;直接上连接 1. Dall-E: https://labs.openai.com/ 2. Codeformer: https://shangchenzhou.com/projects/Co... 3. Playground AI: https://playgroundai.com/ 4. Clip Drop: https://clipdrop.co/relight 5. Astria: https://www.strmr.com/examples …

Apache服务关闭攻防场景模拟实验

一、场景概述 攻击机攻击已知的公共Apache web服务器&#xff0c;导致Apache服务关闭&#xff0c;web网站无法访问。攻击者利用安全外壳 (SSH) 暴力攻击访问服务器&#xff0c;并上传后门文件和脚本&#xff0c;每分钟将服务器的用户名称和密码发送给攻击机以保持对服务器的访…

【分享】如何通过集简云将ChatGPT人工智能接入到我们的抖音中?

ChatGPT是一款非常强大的人工智能产品&#xff0c;可以有创造性的回复和创作文字&#xff0c;图片&#xff0c;适用于很多办公场景。这篇文章将介绍如何将ChatGPT接入到我们的抖音中。 在集简云中的ChatGPT应用 目前集简云提供了两个ChatGPT应用: OpenAI(ChatGPT&#xff09;内…

什么是同步整流和异步整流

在设计降压型DCDC电路的时候&#xff0c;经常会听到同步整流&#xff08;synchronous&#xff09;和异步整流&#xff08;asynchronous&#xff09;。那么什么是同步整流&#xff0c;什么是异步整流呢从这两种电路的拓扑来看&#xff0c;异步整流型外围有一个续流二极管&#x…

07 OpenCV各类滤波

1 均值滤波 均值滤波器是一种基本的线性滤波器&#xff0c;常用于图像处理中的平滑操作。在 OpenCV 中&#xff0c;可以使用cv2.blur()函数或cv2.boxFilter()函数进行均值滤波操作。 均值滤波器的原理是将每个像素的灰度值替换为其周围像素灰度值的平均值。其核心思想是去除图…

Android App开发基础

文章目录一 App的开发特点1.1 App的运行环境1.2 App开发语言1.3 java语言开发1.4 Kotlin语言开发1.5 XML1.6 App连接的数据库二 App的工程结构2.1 App工程目录结构2.2 构建工具Grade2.3 编译配置文件build.gradle2.4 运行配置文件AndroidManifest.xml2.4.1 application2.4.2 ac…

科研试剂供应Pyrene-PEG3-Propargyl,芘甲酰胺-三聚乙二醇-丙炔

Pyrene-PEG3-Propargyl&#xff0c;Propargyl-PEG3-Pyrene&#xff0c;芘甲酰胺-三聚乙二醇-丙炔&#xff0c;芘甲酰胺三聚乙二醇丙炔反应特点&#xff1a;Pyrene-PEG3-Propargyl属于炔基点击试剂&#xff0c;点击化学的概念对化学合成领域有很大的贡献&#xff0c;在药 物开发…

nvdiffrast

nvidiffrast主页https://arxiv.org/pdf/2011.03277.pdfhttps://github.com/NVlabs/nvdiffrast CSC2547 Differentiable Rendering A Survey https://www.youtube.com/watch?v7LU0KcnSTc4 DR https://blog.qarnot.com/an-overview-of-differentiable-rendering/ 知乎 https:…

找不到工作的测试员一大把,大厂却招不到优秀软件测试员?高薪难寻测试工程师。

测试工程师招了快一个月了&#xff0c;实在招不到合适的&#xff0c;已经在被解雇的边缘了。。。” 初级测试工程师非常多&#xff0c;但真正掌握测试思维、能力强的优秀测试太少了&#xff01; 据我所知&#xff0c; 当下的测试人员不少状态都是这样的&#xff1a; 在工作中…

设计模式C++实现18:迭代器模式(Iterator)

意图&#xff1a;提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而又不需要暴露该对象的内部表示。 上下文&#xff1a;集合对象内部结构常常变化各异。对于这些集合对象&#xff0c;能否在不暴露其内部结构的同时&#xff0c;让外部Client透明地访问其中包含的元素…