特点:

云原生应用也就是面向“云”而设计的应用,在使用云原生技术后,开发者无需考虑底层的技术实现,可以充分发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付等。

从上面我们可以知道,云原生指的并非是某一项具体技术,而是一系列技术体系的组合,用来快速地构建、运行、管理应用程序的一种体系、一种方法论。

符合云原生架构的应用程序是:

采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps 支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率

简言之,云原生就是以容器化为基石,以容器调度与编排作为基础能力,以 DevOps 和 CI/CD 为应用场景,帮助开发人员在任何类型的云(私有云、公共云或混合云)中构建和运行可扩展的应用程序。所有在云上提供的服务,都是云原生。

 

kubernetes的名字来自希腊,意思是“舵手”或“领航员”。简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。所以,我们说K8S也就是说kubernetes。在行业内,我们更习惯说K8S,而不是kubernetes。

一、K8S的诞生

Apache MESOS:Apache的开源协议,开源的分布式的资源管理器。2019年5月,MESOS的最大应用公司——推特舍弃MESOS转为K8S。

Docker Swarm:docker母公司诞生的集群化管理工具。和Docker绑定的。

swarm是一个轻量级的、大规模资源集群化的管理工具。之所以舍弃它,是因为它的功能相对K8S比较单一。到如今,swarm基本上已经销声匿迹。

2019年7月,阿里云宣布将Docker Swarm剔除。

kubernetes:Google公司在10多年前开始采用的容器化基础架构——borg,但是它不开源也没有卖给外部公司。随着Docker的大规模应用,Google采用Go语言对Borg框架进行了重写,开发出了kubernetes,也就是我们本文所讲的K8S。