CNCF Landscape路线图
CNCF Landscape最重要的产出包括一个路线图和一个全景图。路线图(Trail Map)是CNCF对云原生用户使用开源项目以及云原生技术的推荐过程。在路线图的每个步骤中,用户都可以选择供应商支持的产品或自己动手使用开源项目。CNCF Landscape全景图
CNCF Landscape路线图从实践步骤上帮助用户梳理了整个云原生应用的最佳流程。然而整个实践过程中的每个环节,用户都需要了解有哪些具体的软件和产品选择,这就是CNCF Landscape全景图发挥作用的地方了(https://landscape.cncf.io/)。这张全景图试图从云原生的层次结构,以及不同的功能组成上,让用户了解云原生体系的全貌,并帮助用户在不同组件层次去选择恰当的软件和工具进行支持。从总体来看,它将云原生生态分为以下几层:
Cloud
图中最底层是Cloud(公有云,包括AWS、Google、Azure、Ali、Baidu、Tencent等)以及Kubernetes认证的服务提供商(主要是私有云,包括谐云、灵雀云、博云、才云、DaoCloud、Rancher等提供商)Provisioning
有了物理机或虚拟机后,在运行容器化服务之前,需要为容器准备标准化的基础环境,这就是Provisioning这一层的作用。在Provisioning这一层中,分为以下几个功能组成模块:- Automation & Configuration:用于自动化部署和配置容器运行平台和环境,代表工具和厂商包括Ansible、Chef、Puppet、VMware、OpenStack。
- 容器镜像库:容器镜像库是整个CNCF云原生中的核心部件之一,因为基于容器的运行环境中,所有的应用都需要借助容器镜像库来进行安装和部署。容器镜像库又分为公有和私有,公有的容器镜像库包括docker官方的registry,AWS的Elastic Container Registry,Google的Container Registry等。在私有镜像库中,VMware中国团队主导的Harbor得到了广泛的应用,大量的容器平台目前都基于Harbor构建其镜像仓库。
- Security & Compliance:Notary和TUF(The Upgrade Framework)是这个领域两个主要的项目,其中TUF是一个开源的安全标准,Notary是其中一个实现。Notary软件除了确保软件的出处外,它还能保证在未经容器镜像提供者批准的情况下,不会在镜像供应链的任何地方修改镜像内的内容,从而确保从开发到运营的过程中,安全都被无缝统一地嵌入到整个工作流中。
- Key Management:主要用于在整个容器平台中进行秘钥管理。
Runtime
Runtime这一层可以理解为容器的整个运行环境,是云原生中最核心的部分,它包括了计算、存储、网络三大块:- Container Runtime:Docker是最广为人知的容器运行环境,但生产环境下也有一些其他的容器环境在运行。Containerd是满足OCI规范的核心容器运行时,从设计上就是为了嵌入大型系统的。它由Docker Inc公司启动,并且在2017年3月份捐赠给了CNCF。此外,CoreOS的RKT是一个用于在Linux上运行应用程序容器的CLI,也可以作为安全、可组合和基于标准的容器虚拟化运行环境。
- Cloud-Native Storage:起初,容器为无状态的运行单元,容器最上一层文件系统无法保存其在运行时写入的文件或数据,容器重建或重启后,这些写入的数据将丢失。但随着数据库、消息队列等中间件逐步在容器环境中得到应用,如今用户对容器持久化存储的理解和需求也更加深入和迫切。本文稍后还将对容器存储做更深入的分析。
- Cloud-Native Network:网络历来是虚拟化技术中最灵活多变的部分,目前,大多数客户使用的主要包括Calico、Flannel、Open vSwitch等方案。
Orchestration Management
这一层主要负责容器平台的编排和调度,包括服务的发现和治理,远程调用,服务代理,微服务治理等组件,包括:- Scheduling & Orchestration:在这个领域,Kubernetes是当仁不让的头号玩家,目前基于Kubernetes的容器生态得到了迅速发展。其它的编排工具还包括Mesos、Docker Swarm等。
- Coordination & Service Discovery:分布式计算中很重要的一点就是各个服务之间的协同以及服务发现(或节点发现的问题),从老牌的Zookeeper到近年来在很多互联网厂商和应用中流行的Consul(Docker Swarm默认使用),都可以用于分布式服务的发现和配置,Kubernetes默认使用的则是CoreOS旗下的Etcd。
- Remote Procedure Call:微服务间进行通信,通常有两种方式,其一为HTTP REST-JSON的方式,另一种为RPC 方式,相比起来RPC方式效率更高。常用的包括 Google 开源的 GRPC 、apache 旗下的 thrift 框架、Netflix 开源的自带负载均衡的 ribbon 和 avra 数据序列化框架。
App Definition and Development
这一层就是容器平台上运行的具体应用和工具了,可以理解为容器平台的应用商店。根据应用的不同作用的使用场景,可以大致分为以下几种类型:数据库(例如MySQL、MariaDB、mongoDB、PostgreSQL、Cassandra、TiDB等)、流处理和消息队列(例如Spark、Storm、RocketMQ、Kafka、RabbitMQ等)、应用和镜像制作(用于将应用封装成标准镜像,使应用能在标准的容器平台上运行,例如Helm、Docker Composer、Packer等)、CI/CD(最常见的Jenkins、Atlassian公司开发的Bamboo等)。Platform
从横向上看,整个云原生还包括众多的经过认证的平台供应商。Observability and Analysis
这个部分包含了大量用于对平台进行监控(Prometheus、Nagios、Grafana、Zabbix等)、日志(Fluentd、ElasticSearch、Logstash)、以及追踪(Jaeger)的工具。 综上所述,CNCF Landscape全景图中包含了CNCF社区成熟或使用范围较广、具有最佳实践的产品和方案供用户在实际应用中选择。 在容器存储(Cloud-Native Storage)部分,焱融云的YRCloudFile是国内唯一被列入到CNCF Landscape的容器存储产品。- 支持有状态容器在节点故障时,跨节点秒级重建,帮助有状态Pod有效应对节点故障。
- 提供细粒度的(PV级别)的多数据中心容灾能力,可根据服务SLA要求创建和使用不同保护级别的PV,并通过优先本地读技术,极大缩小数据访问延迟。
- 支持PV Quota、QoS等企业级特性,确保PV间不发生存储资源的抢占。
- 支持RWX、RWO、ROX等读写访问模式。
- 提供CSI、FlexVolume接口,并完成与灵雀云、谐云、Rancher、思科等多个容器平台供应商的对接。
- 通过PV Hot Spot功能,为上层业务快速定位数据访问热点,消除系统访问瓶颈。
- PV Insight功能,洞察PV内部数据分布及温度,为PV内部数据治理提供决策依据。
- 提供Prometheus exporter,并与Grafana进行整合,完成监控体系的融合和统一。
- 全界面化呈现Kubernetes平台中Pod、PV、PVC之间的关联关系。
- PV性能的实时监控、历史监控记录和告警。
- PV动态Resize。
- 支持RDMA,提供极致性能。
本文来源于DOIT传媒,文章内容仅供参考,不构成投资建议。
评论列表