作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123015489


目录

前言:

第1章 Kubesphere的DevOps功能概述

1.1 Kubesphere概述

1.2 Kubesphere的四大能力:

第2章 kubesphere的DevOps功能

2.1 官方文档

2.2 DevOps功能概述

2.3 kubesphere DevOps功能概述

2.4 kubesphere DevOps的系统架构

2.5 kubesphere DevOps功能特点

第3章 如何开启安装 DevOps系统

3.1 前置条件

3.2 安装过程-没有按照KubeSphere之前

3.3 安装过程-已经按照KubeSphere之后

感悟


前言:

前面阐述和实践了通过手工的方式部署微服务应用程序,手工build,手工打包,手工上传文件,手工部署镜像等工作。如果这种部署几个月发布一次,如果是只有少量的微服务应用,这种手工操作是可以接受的,但如果这种部署天天都在发生、时时刻刻都在发生;如果微服务的数量成百上千,这种手工操作就显得力不从心、非常低效,最终导致无法实施。然而基于云原生的软件开发,具备了天然的时刻发布和微服务数据庞大的特点,因此就需要一种更加高效、更加自动化的手段来实现软件的开发和部署,Kubesphere的DevOps应运而生。

第1章 Kubesphere的DevOps功能概述

1.1 Kubesphere概述

KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式治理平台,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。

1.2 Kubesphere的四大能力:

(1)kubesphere的运维Ops能力

kubesphere是其他微服务的Ops运维治理平台,可以轻松的实现对非kubesphere的微服务部署、管理、运维、治理,管理在线运行的各种业务应用的微服务。前面的章节就是再参数其运维Ops能力。

(2)kubesphere的软件开发Dev管理能力

kubesphere在云端集成了Jikens等各种其它的微服务软件开的工具套件,可以轻松的实现微服务软件工程的开发流程自动化,包括编译、测试、打包、镜像生成、镜像发布、镜像的部署的全流程化、全自动化。而微服务部署后的微服务的运维与治理,就是kubesphere的运维Ops能力

kubesphere的运维Ops能力+kubesphere的软件开发Dev管理能力就构成了kubesphere的DevOps能力。

(3)kubesphere自身功能的微服务化能力

kubesphere其自身的各种功能模块本身就是基于微服务构建起来,可以即插即用地部署在云端,kubesphere的DevOps功能能力或功能,也是基于微服务发布和集成进kubesphere系统的。

(4)kubesphere自身行为的微服务化能力

kubesphere的DevOps把整个开发过程中的各种行为,按照流水线pipeline的方式进行了动态的组织和组装,它是如何做到得呢?kubesphere把开发过程中的开发每个行为,都抽象成一个一个的微服务,通过这些微服务的动态部署和删除,就实现了流水线行为的动态组装和定制化功能。

第2章 kubesphere的DevOps功能

2.1 官方文档

KubeSphere DevOps 系统 | KubeSphere Documents

2.2 DevOps功能概述

2.3 kubesphere DevOps功能概述

KubeSphere 针对容器与 Kubernetes 的应用场景,基于 Jenkins 提供了一站式 DevOps 系统,包括丰富的 CI/CD 流水线构建与插件管理功能,还提供 Binary-to-Image(B2I)、Source-to-Image(S2I),为流水线、S2I、B2I 提供代码依赖缓存支持,以及代码质量管理与流水线日志等功能。

内置的 DevOps 系统将应用的开发和自动发布与容器平台进行了很好的结合,还支持对接第三方的私有镜像仓库和代码仓库形成完善的私有场景下的 CI/CD,提供了端到端的用户体验。

可参考如下文档进一步了解 KubeSphere DevOps 系统的功能:

  • Binary-to-Image:将 WAR、JAR、Binary 这一类的制品快速打包成 Docker 镜像,并发布到镜像仓库中,最终将服务自动发布至 Kubernetes;
  • Source-to-Image:无需写 Dockerfile,仅输入源代码地址即可自动打包成可运行程序到 Docker 镜像的工具,方便构建镜像发布至镜像仓库和 Kubernetes;
  • 图形化构建流水线:通过图形化编辑的界面构建流水线,无需写 Jenkinsfile,交互更友好;
  • 基于 Jenkinsfile 构建流水线:基于项目仓库中已有的 Jenkinsfile 快速构建流水线;
  • 基于 GitLab + Harbor 构建流水线:支持对接第三方的镜像仓库和代码仓库;

2.4 kubesphere DevOps的系统架构

在上述架构中:

(1)微服务治理工具K8S + kubesphere :安装在云端

(2)DevOps套件(包括Jenkins、maven等工具): 与kubesphere一起,安装在云端

(3)微服务应用:与K8S + kubesphere一起,部署在云端

(4)编译、测试服务器:可以与kubesphere部署在一起,并通过名字空间与运维系统加以隔离,也可以是指定的外部服务器,部署的优势是kubesphere已经集成了大量的开发工具。

(5)外部的服务器仓库:github等代码仓库、包制品参考、docker镜像仓库、K8S仓库。

网络上有大量免费、开源、共享的资源,

(6)私有的服务器仓库:私有服务器存放公司核心数据,如公司自己的产品代码、文档、资料等。

可以看出,在云生系统中,几乎所有生成资料(土地、厂房、机器设备、工具、原料),都部署在云端,不受限于物理空间的限制,包括劳动者。

缺点是,需要大量的云服务器资源,云服务器被恶意释放的风险

2.5 kubesphere DevOps功能特点

  • 自动化:整个流程全自动完成
  • 动态组装:在这个流程中,不同的人,有不同的行为需求,需要动态组装各种行为。
  • 行为的微服务化:把各种基本行为包装在微服务中

第3章 如何开启安装 DevOps系统

DevOps并不是kubesphere的基础功能,而是一个动态组件,是需要动态的加载。

KubeSphere DevOps 系统 | KubeSphere Documents

开启DevOps的基本方法其实很简单:

(1)先编辑相应的配置文件,devops_enabled: true

(2)然后开始安装kubesphere,在安装kubesphere的过程中安装Deops,如果是已经安装了kubesphere,则直接安装DevOps。

因此,配置文件是关键。

3.1 前置条件

注意:开启可选功能组件之前,请先参考 可插拔功能组件列表,确认集群的可用 CPU 与内存空间是否充足,开启安装前可能需要提前扩容集群或机器配置,否则可能会因为资源不足而导致的机器崩溃或其它问题。

3.2 安装过程-没有按照KubeSphere之前

(1)编译配置文件

安装前,在 installer 目录下编辑 conf/common.yaml文件,然后参考如下开启。

#DevOps Configuration
devops_enabled: true # 是否安装内置的 DevOps 系统(支持流水线、 S2i 和 B2i 等功能),若机器配置充裕建议安装
jenkins_memory_lim: 8Gi # Jenkins 内存限制,默认 8 Gi
jenkins_memory_req: 4Gi # Jenkins 内存请求,默认 4 Gi
jenkins_volume_size: 8Gi # Jenkins 存储卷大小,默认 8 Gi
jenkinsJavaOpts_Xms: 3g # 以下三项为 jvm 启动参数
jenkinsJavaOpts_Xmx: 6g
jenkinsJavaOpts_MaxRAM: 8g
sonarqube_enabled: true # 是否安装内置的 SonarQube (代码静态分析工具)
#sonar_server_url: SHOULD_BE_REPLACED # 安装支持对接外部已有的 SonarQube,此处填写 SonarQube 服务的地址
#sonar_server_token: SHOULD_BE_REPLACED  # 此处填写 SonarQube 的 Token

devops_enabled: true # 是否安装内置的 DevOps 系统(支持流水线、 S2i 和 B2i 等功能),若机器配置充裕建议安装

(2)安装KubeSphere

3.3 安装过程-已经按照KubeSphere之后

(1)启动 ks-installer

通过修改 ks-installer 的 configmap 可以选装组件,执行以下命令(kubectl 命令需要以 root 用户执行)

$ kubectl edit cm -n kubesphere-system ks-installer

(2)修改配置文件

devops:enabled: TruejenkinsMemoryLim: 2GijenkinsMemoryReq: 1500MijenkinsVolumeSize: 8GijenkinsJavaOpts_Xms: 512mjenkinsJavaOpts_Xmx: 512mjenkinsJavaOpts_MaxRAM: 2gsonarqube:enabled: True

保存退出,参考 验证可插拔功能组件的安装 ,无需再次执行安装命令 ./install.sh,仅需通过查询 ks-installer 日志或 Pod 状态即可验证功能组件是否安装成功。

感悟:

云原生更本质的目标是: 把从事软件生产,包括嵌入式软件生产的一切生产资料,包括厂房、机器、设备、工具、原材料等都放到云端,把生产出来的产品的销售、运维也放到云端,实现全过程的全自动化,甚至把甚至是生产者自身也是在云端,结合未来的人工智能,编程创作也是由机器完成,系统自动完成生产过程,生产力得到极大的提升,大多数人在整个环节中只是消费者,人存在的意义就只有消费,最终实现共产主义,甚至超越共产主义。以云原生技术为基础生产资料的创业就是轻资产创业。


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123015489

[云原生专题-60]:Kubesphere云治理-DevOps-自动化开发与自动化上云部署流程概述相关推荐

  1. [云原生专题-64]:云原生技术助力5G RAN步入”云”霄 - 对云原生的理解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  2. [云原生专题-16]:容器 - 在Windows主机上搭建Docker环境

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  3. 【云驻共创】云原生应用架构之企业核心业务未来架构演进路线及华为云方案

    文章目录 前言 一.企业核心业务架构演进 1.企业核心业务应用架构和集成架构发展历程 1.1 企业核心业务应用架构发展历程 1.1.1 单体架构 1.1.1.1 特点 1.1.1.2 优点 1.1.1 ...

  4. [云原生专题-61]:Kubesphere云治理-安装(3)-可插拔组件的安装

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  5. 开源云原生平台对比 KubeSphere vs Rainbond

    最近因为工作需要,需要找一个功能完善的云原生应用平台,经过自己筛选和朋友推荐,剩下 KubeSphere和Rainbond ,这两个产品都是基于 Kubernetes 之上构建的云原生应用平台,功能都 ...

  6. 云原生时代到来 KubeSphere要让容器应用零门槛落地

    如今,Kubernetes.DevOps.微服务.应用管理等已经给客户带来了太多认知上的负担,而KubeSphere要做的就是简化.简化.简化. 云计算技术应用的深入,云原生正在成为云计算2.0的发展 ...

  7. 6.19 成都站云原生 Meetup,KubeSphere 和 APISIX 等你来!

    以容器技术和容器编排为基础的云原生应用,被越来越多的企业用户接受和使用,并且在生产环境中使用容器技术的比例逐年增加.KubeSphere 作为一款面向应用的开源容器混合云,经过 3 年的发展和 10 ...

  8. “云原生全家桶“KubeSphere 如何让企业从容迈进云原生时代?

    作者 | 刘丹 来源 | CSDN云计算(ID:CSDNcloud) 最近两年,云原生大火.究其原因,"数字化转型"几乎成为所有企业当下最迫切的需求,在这样的趋势下,恰逢新旧IT架 ...

  9. 云原生2.0时代下,DevOps实践如何才能更加高效敏捷?

    当前全球的数字化浪潮逐步加深,云计算成为当今信息化发展的重要基础设施,云原生(Cloud Native)在数字化浪潮中的角色逐步提升,成为近几年云计算领域炙手可热的话题. 首先我们来看看一张图,看看云 ...

最新文章

  1. alert获取输入框内容_实用开源:Web 聊天工具的富文本输入框
  2. html首页我的待办,JavaScript / HTML中的待办事项列表
  3. 爬虫-实现登陆功能-思路-RR网的例子
  4. 设计模式8(享元模式,解释器模式)
  5. java模拟数据库压测_Jeecgboot Feign、分布式压测、分布式任务调度
  6. 如何做好软件测试管理工作,如何才能做好软件测试工作
  7. Java基础系列13:JDBC批处理简介
  8. 【测试】软件测试分类体系系统学习
  9. primefaces教程_Primefaces树,TreeNode,TreeTable示例教程
  10. Spring全家桶+分布式微服务(十次方)
  11. 开机连接WiFi显示无Internet连接但能上网且弹出“MSN中国”网页
  12. 编译原理实验-PL0自底向上语法分析
  13. 计算机里被删除的文件可以在哪里进行恢复,电脑怎么找回删除的文件?找回删除文件的方法...
  14. js将数字转换成中文大写
  15. 「需求分析」用户故事和用例是一回事吗?
  16. 通过四个多月的时间,我成为了CSDN博客专家
  17. 爬取正方教务管理系统获取学生信息
  18. React兼容IE8
  19. two-pointer双指针法
  20. H5获取手机GPS定位

热门文章

  1. 第一个web网站需要了解什么?web新手入门
  2. 计算机专业还有前景吗?IT互联网企业要的是什么样的人才?
  3. Redis中的哨兵模式
  4. SQL分组后将不存在的组记为0
  5. LIVE555再学习 -- 单播、多播、广播、直播、点播 都是个啥?
  6. 【Unity入门】4.FBX模型和资源打包
  7. Java计算机毕业设计大学生数字云平台2021源码+系统+数据库+lw文档
  8. 如何将C++代码封装成C模块,适配Python、Lua和C++调用。多种语言(C++、python和lua)调用C++封装的看门狗sdk模块
  9. 数字音乐教室现场教学,好听!
  10. kmeans算法的核心思想和实现逻辑流程