购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.4 云原生背景

在开源基础设施发展的同时,云计算还有另一条道路在发展,那就是云原生。相比虚拟化技术,云原生的容器技术在做到应用隔离的同时,也没有性能的损失,这是一个很明显的技术优势。因此,在注重计算性能的云计算场景中,部分用户更倾向于使用容器作为底层基础技术。当然,安全性是容器技术的短板,随后很多安全隔离增进技术也层出不穷,从不同的角度来弥补可预期的安全隐患。

2014年Google开源了容器编排项目Kubernetes,把Kubernetes定位为容器云环境的管理软件,从系统的整体设计上充分考虑了容器技术的特点。在资源的定义上,Kubernetes以容器为基础元素,引入了“Pod”的概念,把运行相同应用的多个容器实例看作一个管理和调度单元,即Pod。而一个Pod又需要运行在单个Minion中,故Minion可以被理解成一个主机(Host)。在一个集群中有多个Minion,统一被中央控制节点Master管理。而在Pod的基础上,Kubernetes又抽象出Service的概念,Service是多个Pod一起工作提供服务的抽象。

后来,Kubernetes被捐献给CNCF,成为该基金会的明星项目。围绕Kubernetes,CNCF 维护了一张云原生技术全景图,该全景图包括了与云原生相关的大部分有影响力的开源项目。在全景图中,云原生以容器为核心技术,分为运行时和编排两部分,其中运行时负责容器的计算、存储、网络;编排负责容器集群的调度、服务发现和资源管理。全景图下方是基础设施和相关的配置管理工具。容器可以运行在各种系统上,包括公有云、私有云、物理机等,同时还依赖于自动化部署工具、容器镜像工具、安全工具等。全景图上方是容器平台的应用层,类似于手机的应用商店,分为数据库与数据分析、流处理、SCM(Software Configuration Management,软件配置管理)工具、CI/CD 和应用定义,不同公司根据自己的业务需求有不同的应用体系。全景图还包含平台和观察分析。平台是指基于容器技术提供的平台级服务,比如常见的PaaS和Serverless服务。观察分析是指基于容器平台的运维,从日志和监控方面给出容器集群当前的运行情况,以方便分析和调试。

总而言之,云原生包含容器和微服务两大块内容,涵盖Kubernetes、containerd、CRI-O、Istio、Envoy、Helm、Prometheus、etcd 等项目,各大厂商可以自由且开放地围绕云原生项目在社区讨论技术和提交代码。 NsdtkOUw0O39mMkF6/Q4DEmn4VlfFwCMNPagiaUBfOBlCfeJGS+hD7UFzlC13riM

点击中间区域
呼出菜单
上一章
目录
下一章
×