作者:云技术 2019-06-21 15:29:26
云计算 如果从资源利用的角度划分,云计算可以划分为两个类型,类型一:基于传统虚拟化构建的云,这是目前大部分云的形态。类型二:基于容器构建的云,这是云必然的未来。容器对资源的利用率要提高一个数量级,更重要的是颗粒度更细,自动化程度更高。容器是传统虚拟化效率的数百倍,滚滚洪流,不可阻挡。
公司主营业务:成都做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出林周免费做网站回馈大家。
—— 1964年,天体物理学家尼古拉-卡尔达舍夫
如果从资源利用的角度划分,云计算可以划分为两个类型,类型一:基于传统虚拟化构建的云,这是目前大部分云的形态。类型二:基于容器构建的云,这是云必然的未来。容器对资源的利用率要提高一个数量级,更重要的是颗粒度更细,自动化程度更高。容器是传统虚拟化效率的数百倍,滚滚洪流,不可阻挡。
更高的类型,也意味着更复杂,笔者尤其关注容器云在网络、监控两方面面临巨大的挑战。
一、容器常见的网络解决方案概述和对比
容器常见的网络标准有两种,分别是Docker公司提出的CNM(Container Network Model),和CoreOS公司提出的CNI(Container Network Interface)。
1. CNM介绍
Libnetwork是CNM规范的规范实现,Libnetwork提供Docker守护程序和网络驱动程序之间的接口。网络控制器负责将驱动程序与网络配对。每个驱动程序负责管理其拥有的网络,包括提供给该网络的服务。 每个网络有一个驱动程序,多个驱动程序可以与连接到多个网络的容器同时使用。
Libnetwork提供Docker守护程序和网络驱动程序之间的接口,图来源:thenewstack
2. CNI介绍
[[268659]]
CNI已经成为云原生应用基金会(CNCF)的正式项目,用于编写插件以配置Linux容器中的网络接口。CNI仅关注容器的网络连接并在删除容器时删除分配的资源。CNI提供了广泛的支持,并且规范易于实现,支持第三方插件。
CNI是向网络添加和删除容器的最小规范,图来源:thenewstack.io
目前主流的容器云都是基于Kubernetes构建,CNI也是Kubernetes所采用的网络标准。常见的CNI网络插件有:
图来自于网络,出处不可考
1)常见的CNI插件介绍
2)CNI插件项目Forks数量比较
Github上被Forks的数量对比,图来源chrislovecnm.com
3)CNI插件项目10Gbit网络下的CPU消耗比较
10Gbit网络下的CPU消耗比较,图来源itnext.io
由于篇幅所限,本文仅对CNI插件做简单介绍,如果对CNI插件有进一步兴趣,可以查阅相关项目官方文档。
二、Kubernetes的监控解决方案介绍
Kubernetes因为状态一直动态变化,因此监控也是一个难点,常见的监控工具有:
目前主流的Kubernetes监控方式通过Prometheus,通过Grafana展现。
通过Prometheus监控Kubernetes,通过Grafana展现,图来源:grafana.c
从上面的介绍可以看出,Kubernetes在网络、服务状态、监控方面有各种解决方案,每种解决方案可以说都有优缺点。笔者最近参加了UCloud的TIC大会,现场听了UCloud优刻得实验室负责人叶理灯关于Kubernetes的一个分享,叶理灯的分享干货很多,比如基于RBAC实现账号管理隔离,有状态和无状态服务的管理。笔者特别关注了UCloud在Kubernetes网络和监控解决方案的独到之处,和大家分享下。
三、KUN和UK8S网络和监控几个厉害的玩法
叶理灯介绍了UCloud基于Kubernetes打造的内部容器云平台(简称KUN)和针对外部用户的容器管理服务UK8S。KUN的主要实现方法之一是K8S+Docker,通过Docker提高运维部署效率和运维环境的一致性,通过K8S实现跨可用区容灾和Auto Scaling能力,从而实现高可用、在线升级、自动扩缩、负载均衡、日志查看、资源监控等多种功能。而UK8S可以让用户直接在上面部署、管理、扩展容器化应⽤,⽽⽆需关⼼Kubernetes集群⾃身的搭建及维护等运维类⼯作。UK8S完全兼容原⽣的Kubernetes API,以UCloud私有⽹络为基础,并整合了ULB、UDisk、EIP、VPC等云产品。
1. UK8S网络特点-连放五个大招
UK8S在网络上有五个大招,全面支持IPV6,实现了容器云和现有公有云的无缝融合,并且在性能和云主机一致:
令人印象深刻的是,UCloud自研的CNI(Container Network Interface)插件,使UK8S拥有与云主机等同的网络性能(目前***可达10 Gb/s,100万pps)。
2. 一站式Kubernetes服务(UK8S)打造
在管理服务方面,UK8S支持完全的容器化和微服务化,可以确保所有管理服务全部运行在内部KUN平台上,基于KUN的API对服务模块进行动态管理;一个集群对应生成一个Watcher,容易进行横向扩展;基于Watcher+Redis缓存的方式,保证用户在控制台获取集群信息的速度足够快,相当于用K8S管理K8S。
托管方面,采用“UK8S+托管物理机”的模式可以合理利用存量物理资源,且无需运维管理UK8S集群以及部署外部负载均衡,业务高峰可随时扩容集群,帮助用户有效利用存量IT资源。例如,Master节点部署在共有云上,Node节点分为公有云和托管云两部分,两个区的网络实现了互联互通等。
例如:元年科技CTO 杨熠提到:“使用UK8S,开发者可以像使用普通云服务器一样迅速搭建K8S环境。在享受K8S带来的便利的同时,能够让开发人员集中注意力在业务实现的细节,而不必在基础架构搭建上浪费太多的精力。UCloud为此提供的专业、快速的服务和响应机制帮助我们成功的将整个环境从自建K8S平滑迁移到UK8S。”
3.KUN监控特点介绍
UCloud KUN的监控系统方案基于Prometheus构建,Prometheus部署于K8S集群中,使用HostPath存储数据、Metrics采集,使用 Alert Manager 聚合报警,调用 Monitor Manager 提供的 Web Hook;自研 Monitor Manager 可以实现告警信息的发送,发送渠道包括邮件和微信,告警组管理、互相监控探测功能、报警收敛;使用 Grafana 实现 Web 可视化。
笔者总结KUN监控有两个企业用户特别关心的点:
为了实现监控系统的高可用,UCloud采取了冗余部署方案,Monitor Manager 部署在 K8S集群之外,跨AZ部署互相监控;通过微信和听云从外部对 Monitor Manager 进行监控;Prometheus 配置DeadMansSwitch 规则,实现一个永远触发的告警,MonitorManager 对其进行检测,当较长时间没有收到报警时,说明监控告警系统不工作了,发出告警;Grafana 使用 PVC 进行配置文件的存储。
4. 一个***厉害的玩法
因为UK8S在网络上能够做到和公有云全面融合,还可以有一个厉害的玩法--平滑迁移。因为Pod具有与VM等同的⽹络待遇,让VM与容器混合部署成为可能,也让业务迁移到K8S更简单。
总结:使用UK8S,就是抓住未来
Kubernetes已经发布整整5年了,但是Kubernetes还在飞速发展,丝毫没有停下来的迹象,相反还在不断攻城略地,Kubernetes就是现在明显能抓住的未来。在Kubernetes落地过程中,网络和监控面临很大挑战,也有很多解决方案。UCloud在云计算方面有将近十年的技术积累,推出的UK8S托管方案,如利剑出鞘,斩断任何容器难题,让用户轻松步入容器时代,使用UK8S,就是抓住未来。
本文题目:Kubernetes网络、监控技术全面解读
新闻来源:http://www.csdahua.cn/qtweb/news22/287872.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网