【视频笔记】云原生到底是个啥

云(Cloud)和原生(Native) 到底什么事“云原生”

企业IT数字化转型三部曲

image

 

image

 来自CNCF对云原生最新的定义是:

image

 

image

 

image

 

image

 

image

 

image

 

image

 

image

 

image

 

image

image

 不同点

image

 

 问题1、云原生的项目一定在CNCF里吗

并不是必须加入CNCF里才算云原生

image

问题2、 云原生一定是k8s原生吗?

云原生并不仅限于k8s,例如,虽然容器经常与k8s一起使用,但是也可以在其他平台(Amazon ECS)上使用;但反过来,kubernetes native的项目通常被认为是云原生的,这是因为kubernetes是云原生生态系统的核心组成部分。

问题3、Jenkins也可以部署在k8s,它是云原生的吗

答案是否定的。云原生应用通常是为云环境设计的,他们被构建为微服务,打包为容器,使用声明式API部署,并且可以在各种环境中无缝运行。

这些应用通常具有自动扩展,自我修复,和自我发现的能力,虽然Jenkins可以在k8s上运行,但他并不完全符合云原生应用的定义,具体如下:

1、单体架构:Jenkins是一个单体应用,所有功能都在一个大的应用中运行,这与云原生应用的微服务架构相反,微服务架构可以独立扩展和部署各个服务,因此jenkins的这种架构使得它难以在云原生应用的弹性和可扩展性

2、状态管理:Jenkins需要一个持久的文件系统来存储其配置、插件和构建工件,这在云原生环境中可能会导致问题,因为云原生应用通常设计为无状态的,以便可以轻松的在多个实例之间进行扩展和故障转移

3、插件依赖:Jenkins的许多功能依赖于其丰富的插件生态系统,然而,这些插件可能会导致稳定性和兼容性问题,尤其是在动态的、弹性的云环境中

4、缺乏自我修复能力:在云原生环境中,应用应该能够自我修复,当某个实例出现问题的时候,应该能够自动替换,然后由于jenkins的单体架构和状态管理,这在jenkins中很难实现

5、缺乏自动扩展:云原生应用应该能够根据需求自动扩展,然后jenkins并没有内置的自动扩展机制

image

 

posted @ 2025-08-25 11:46  fanblog  阅读(8)  评论(0)    收藏  举报