你所在的位置: 首页 > 正文

一文带你读懂CNCF Landscape

2019-08-05 点击:967

云原生计算基金会,云原生计算基金会(CNCF)是一个开源软件基金会,致力于Cloud Native技术的普及和可持续发展。 Cloud Native Technology通过一系列软件,规程和标准,帮助企业和组织在现代动态环境(如公共云,私有云和混合云)中构建和运行灵活,可扩展的应用程序。容器,微服务,微服务治理,声明性API等是代表性的云原生技术。这些技术使松散耦合系统更具弹性,易于管理,更易于监控和观察。这些技术与强大的自动化工具相结合,使工程师能够对系统进行频繁,可预测的更改,并最大限度地减少所需的工作量(在采用这些云原生技术和框架之前,相信每个人都对系统进行了任何微小的更改,并且所有这些都需要整个开发,测试,运营和维护团队的痛苦经验来投入大量的工作),这是云原生技术最希望为技术团队和业务带来的价值。

CNCF Landscape在年度CNCF年度报告中提到。 CNCF Landscape是CNCF的一个重要项目。它始于2016年11月,旨在为云原生用户提供资源图,以帮助企业和开发人员快速了解。云的本机系统的全貌。 CNCF Landscape项目在Github上赢得了超过5000颗星,表明开发者和用户正在关注并重视这个项目。 CNCF Landscape通过对云原生技术中的大多数项目和产品进行分类,跟踪整个生态系统中的各种应用。

CNCF景观路线图

CNCF景观最重要的输出包括路线图和全景图。 Trail Map是CNCF为云原生用户使用开源项目和云原生技术的推荐流程。在路线图的每一步,用户都可以选择供应商支持的产品或自己使用开源项目。

img_pic_1560399658_0.png

CNCF景观路线图

1.集装箱化。目前最流行的容器化技术是Docker,它允许您容纳任何大小的应用程序和依赖项,甚至包括在模拟器上运行的那些。随着时间的推移,您还可以拆分应用程序并将未来的功能编写为微服务。

2. CI/CD(持续集成和持续发布)。创建CI/CD环境,以便可以自动编译,测试和部署源代码中的任何更改,并将其部署到预生产环境或生产环境中。

3.应用程序编排。 Kubernetes是市场上应用程序编排领域中使用最广泛的工具。 Helm Charts可用于帮助应用程序开发人员和发布者升级在Kubernetes上运行的应用程序。

4.监测和分析。在此步骤中,用户需要为平台选择监视,记录和跟踪相关工具,例如使用Prometheus进行监视,使用Fluentd进行日志记录,使用Jaeger跟踪整个应用程序调用链。

5.服务代理,发现和治理。 CoreDNS,Envoy和LInkerd可分别用于服务发现和服务治理,以提供运行状况检查,请求路由和负载平衡等服务。

6.网络。 Calico,Flannel和Weave Net等软件用于提供更灵活的网络功能。

7.分布式数据库和存储。分布式数据库提供了更好的弹性和可伸缩性,但也需要专门的容器存储来支持它们。

8.流媒体和消息处理。当应用程序需要比JSON-REST模型更高的性能时,请考虑使用gRPC或NATS。 gRPC是一个通用的RPC(远程调用)框架(类似于各种框架中的RPC调用)。 NATS是一个发布/订阅和负载平衡的消息排队系统。

9.容器图像库和运行时环境。 Harbor是目前最流行的容器映像库,您还可以选择使用不同的容器运行时环境来运行容器程序。

10.软件发布。最后,诸如Notary之类的软件可用于软件的安全发布。

CNCF景观全景

CNCF Landscape路线图可帮助用户从实际步骤中为整个云原生应用程序分类最佳流程。但是,在整个过程的每一步,用户都需要知道具体的软件和产品选择,这就是CNCF Landscape全景图的工作原理。

img_pic_1560399658_1.png

CNCF景观全景

此全景图试图从云的本机层次结构及其不同功能中了解云的本机系统的全貌,并帮助用户选择合适的软件和工具以支持不同的组件级别。总的来说,它将云原生态划分为以下几层:

图片底部是Cloud(公共云,包括AWS,Google,Azure,Ali,百度,腾讯等)和Kubernetes认证服务提供商(主要是私有云,包括Harmony,Lingque,Boyun,Caiyun,DaoCloud,Rancher和其他提供者)。

供应

使用物理机或虚拟机,您需要在运行容器化服务之前为容器准备标准化的基础环境。这是供应的作用。在Provisioning层中,它分为以下功能模块:

l自动化和配置:用于自动化容器运行时平台和环境的部署和配置,代表工具和供应商,包括Ansible,Chef,Puppet,VMware,OpenStack。

l容器图像库:容器图像库是整个CNCF云的核心组件之一。由于基于容器的运行时环境,所有应用程序都需要通过容器映像库进行安装和部署。容器图像库分为公共和私有。公共容器图像库包括docker的官方注册表,AWS的Elastic Container Registry和Google的Container Registry。在私有图像库中,VMware中国主导的Harbour已被广泛使用,目前大量的容器平台基于Harbour来构建其镜像仓库。

L安全&合规性:公证和TUF(升级框架)是该领域的两个主要项目,其中TUF是开源安全标准,而Notary是其中一个实现。公证软件不仅可以确保软件的来源,还可以确保在未经容器镜像提供程序批准的情况下镜像供应链中任何位置都不会更改镜像内容,从而确保安全性无缝且统一地嵌入到镜像供应链中。从开发到运营的整个工作流程。

密钥管理:主要用于整个集装箱平台的密钥管理。

运行时:

运行时层可以理解为容器的整个操作环境,这是云原型的核心部分。它包括三个部分:计算,存储和网络。

容器运行时:Docker是最知名的容器操作环境,但是在生产环境中还有其他容器环境在运行。容器是符合OCI规范的核心容器。它旨在嵌入大型系统中。它由Docker Inc发起并于2017年3月捐赠给CNCF。此外,CoreOS的RKT是一个用于在Linux上运行应用程序容器的CLI。它还可以用作安全,可组合和基于标准的容器虚拟化环境。

l Cloud-Native Storage:首先,容器是无状态运行单元。容器顶部的文件系统无法保存在运行时写入的文件或数据。重建或重新启动容器后,写入的数据将丢失。但是,随着数据库和消息队列等中间件逐渐应用于容器环境,用户对容器持久存储的理解和要求现在更加深入和迫切。本文稍后将提供对容器存储的更深入分析。

l云原生网络:网络一直是虚拟化技术中最灵活,最可变的部分。目前,大多数客户使用Calico,Flannel和Open vSwitch等解决方案。

业务流程管理:

该层主要负责容器平台的编排和调度,包括服务发现和治理,远程调用,服务代理,微服务治理和其他组件,包括:

l调度&编排:在这个领域,Kubernetes是头号参与者,目前基于Kubernetes的容器生态系统发展迅速。其他编排工具包括Mesos,Docker Swarm等。

协调和服务发现:分布式计算的一个重要部分是服务和服务发现(或节点发现)之间的协作,从旧的Zookeeper到近年来许多Internet供应商和应用程序中的流行领事。 (默认情况下使用Docker Swarm),可用于发现和配置分布式服务,Kubernetes默认使用CoreOS下的EtOS。

l远程过程调用:微服务之间有两种通信方式。一个是HTTP REST-JSON,另一个是RPC。它比RPC更有效。常用的有谷歌的开源GRPC,Apache的thrift框架,Netflix开源自加载功能区和avra数据序列化框架。

服务代理,API网关和微服务管理:这些部分用于管理,路由,监控和灵活扩展容器平台上运行的许多API服务。

应用定义和开发

该层是在容器平台上运行的特定应用程序和工具,可以理解为容器平台的应用程序存储。根据应用程序的不同使用场景,可以大致分为以下几种:数据库(如MySQL,MariaDB,mongoDB,PostgreSQL,Cassandra,TiDB等),流处理和消息队列(如Spark, Storm,RocketMQ,Kafka,RabbitMQ等),应用程序和映像创建(用于将应用程序打包成标准映像,使应用程序能够在标准容器平台上运行,如Helm,Docker Composer,Packer等),CI/CD(大多数常见的Jenkins,Atlassian)由Bamboo等开发)。

平台

在水平方向上,整个云也是许多认证平台供应商的原生云。

可观察性和分析

本节包含许多用于监控平台(Prometheus,Nagios,Grafana,Zabbix等),日志记录(Fluentd,ElasticSearch,Logstash)和跟踪(Jaeger)的工具。

因此,CNCF Landscape全景图包含CNCF社区成熟或广泛使用的产品和解决方案,并提供最佳实践供用户选择。

在Cloud-Native Storage部分,YFCloudFile是中国唯一包含在CNCF Landscape中的容器存储产品。

img_pic_1560399659_2.png

与其他CNCF Landscape Cloud-Native Storage产品和开源解决方案相比,YRCloudFile具有许多独特而重要的功能:

l支持有状态容器在节点发生故障时跨节点重建节点,帮助有状态Pod有效地应对节点故障。

l提供细粒度(PV级)多数据中心灾难恢复功能。它可以根据服务SLA要求创建和使用具有不同保护级别的PV,并通过优先考虑本地读取技术来大大减少数据访问延迟。

l支持PV Quota和QoS等企业级功能,确保存储资源不会在PV之间抢占。

l支持读写访问模式,如RWX,RWO和ROX。

l提供CSI和FlexVolume接口,并完成与Lingque Cloud,Harmonic Cloud,Rancher和Cisco等多个容器平台供应商的对接。

l使用PV热点功能快速定位上层业务的数据访问热点,消除系统访问瓶颈。

l PV Insight功能可以深入了解光伏内部数据分布和温度,为光伏内部数据管理提供决策依据。

l提供Prometheus出口商并与Grafana集成,以完成监控系统的集成和统一。

l完全接口,显示Kubernetes平台中Pod,PV和PVC之间的关联。

l PV性能的实时监控,历史监控记录和告警。

l PV动态调整大小。

l支持RDMA以提供最佳性能。

通过以上介绍,我们相信我们已经为云计算中的许多工程师和CIO提供了明确的构建思路和选择标准,特别是在集装箱存储领域。我们还将在原始构造中构建云。每个人都可以分享经验教训,帮助客户更顺利地完成业务向云的转变。

韶关新闻网 版权所有© www.neasiafoods.org 技术支持:韶关新闻网 | 网站地图