Kubernetes 的网络、存储和运行时该如何处理?

引言

“ 系统正在变得越发复杂(sophisticated)。”

--Bill Joy, BSD 主要设计者、vi 作者、SUN 联合创始人

Kubernetes 的网络、存储和运行时该如何处理?

技术的发展,总是解决了现有的问题,进而引入新的问题,继而继续解决,如此周而复始,Docker 公司在2013年成立,将容器的概念迅速扩散。正如当年集装箱点燃了全球的货运革命一样,当时的船运公司使用这种大型的金属集装箱替代了过去纷杂的货运装置,以适应在卡车、船舶、铁路三者之间匹配。装什么无所谓,重要的是装载本身有了标准。和现实世界的集装箱运输一样,Linux 容器创建了对于应用最为基本的封装,使之可以运行在任何的基础设施平台上。一时之间,容器风靡世界。到今天为止,几乎所有的企业都有意愿将他们的应用跑在容器之上,即使是他们自己的内部的服务器,也同样在考虑。尽管容器仅仅是管理现代的应用程序的一种更好的方式,因为它们通常被分割成无数的组件(微服务),但仍然需要能够在服务器之间进行容易的移植和访问。

技术的本质就是这样,通常是解决了一个问题,而又引入新的问题,如此反复。Linux 容器也不例外,它虽然封装的很好,但是它给 DevOps 团队带来前所未有的挑战,它在应用程序的移植、部署的活动中增加了更多动态的东西。为此,Kubernetes 应时而生。

同样 Kubernetes 也没有脱离这个技术本质,容器的细粒度,将过去传统意义上每台主机一个 IP 地址,每个服务有一个或多个端口的困境,甚至是物理机虚拟化的情景彻底打破,相应的是流量的暴增,命名空间、服务发现、流量监控一时之间让管理员和开发者头痛不已。谈到存储,容器的快速,对于持久化的存储提出了极大的挑战,分布式存储、对象存储成为了配合云原生的必备,而这又反过来会影响到性能、扩展性、灵活性等诸多设计,让架构师、开发者在众多的选项中不断寻找平衡之道。哦,对了,还有如何将用户的代码和运行环境设定在可控的范围,也是云厂商运营和系统管理之间的平衡,因为达到这个目的的同时,还要保证用户对环境无感知,而不是觉得自己受限,安全与易用/性能之间的桥梁该如何架设。

KubeCon + CloudNativeCon + Open Source Summit(原LC3)中国,来自华为、阿里巴巴、VMWare、Red Hat 等众多云原生、Kubernetes 一线专家,将帮助大家解答这个困惑,以及他们提出的新的挑战。(这是一个无限的循环递归)。

分论坛主题介绍

网络

Kubernetes 的网络、存储和运行时该如何处理?

网络是一个非常大的话题,从 5G 到 SDN,从边缘计算到电信服务商,网络无处不在。Kubernetes 下我们以一位工程师的视野切入,那基本上就是 Kubernetes 在现在数据中心中、当下的软件架构中,如何实现网络的有效利用和高效管理,才是工程师们考虑的最大问题。接下来介绍的演讲,按照惯例我们从公司来介绍,他们分别是:

Kubernetes 的网络、存储和运行时该如何处理?

  Jun Du –华为 高级软件工程师

华为,Jun Du,带来的是全新的 Kubernetes 网络兴趣小组的前沿思考和实现,sig-network 正在引领社区开发一项新特性 - 拓扑感知服务路由。这项特性所有者将详细介绍设计和实施拓扑感知服务路由的挑战,并描述这项特性的未来发展方向,包括测试版和最终版标准。想知道什么是拓扑感知吗?不妨允许笔者卖个关子,你只有到现场才能真正了解。

北京优帆科技有限公司的 Xuetao Song 和 Fang Du 将带来Porter - 面向裸机 Kubernetes 的开源负载均衡器:在 Kubernetes 集群中可以使用“LoadBalancer”类型服务将后端工作负载暴露在外部。云厂商通常为 Kubernetes 提供云 LB 插件,但这需要将集群部署在特定 IaaS 平台上。然而,许多企业用户通常都将 Kubernetes 集群部署在裸机上,尤其是用于生产时。而且对于本地裸机集群,Kubernetes 不提供 LB 实施。Porter 是一个开源项目,可完美地解决此类问题。在本次会议中,Xuetao Song 和 Fang Du 将重点介绍可帮助为裸机 Kubernetes 提供服务和 EIP 管理的网络技术。

VMware ,作为 VMware 专业的网络工程师 Ron Fuller,会讲解特定于 K8s 的数据中心网络基础知识。演讲主题将涵盖 OSI 系统模型、第 2 层概念、第3 层概念、网络地址转换 (NAT) 和 IP 寻址。将专注于帮助开发人员了解其应用运行所依赖的底层连接基础设施。Ron Fuller 坦言,与会者在会议结束后,将能够更好地向基础设施团队阐明他们的需求,并了解基础设施团队需要做些什么来满足他们的需求。

Kubernetes 的网络、存储和运行时该如何处理?

  Fangyuan Li – VMware软件工程师

VMware,软件工程师的 Fangyuan Li,将从最简单的 VIP iptable 实施开始。接下来,稍提难度,逐步升高,从客户端到服务器,从内核到用户空间,从 IP 到 HTTP,进行更深入的探讨。在演讲中会大体介绍下并演示如何在普通 Bash 脚本中使用不同工具。基于上述内容,我们将通过在 K8s(clusterIP / nodePort)、Docker(路由网格)、Envoy 和许多 CNI 插件中比较它们进行总结。

Kubernetes 的网络、存储和运行时该如何处理?

  Sridhar Gaddam - Red Hat首席软件工程师

Kubernetes 的网络、存储和运行时该如何处理?

  Aswin Suryanarayanan - Red Hat高级软件工程师

IBM 即将完成对 RedHat 的收购,而 IBM 的战略就是混合云,对于 Red Hat 的 OpenShift 来讲,混合云就是重点处理的利基市场,那么 Red Hat 又是如何处理复杂多变的混合云的呢?来自印度的工程师 Sridhar Gaddam 和 Aswin Suryanarayanan 将带来的是在多集群下的网络连接解决方法:1.CloudAgnostic:适用于本地和公共云。2.CNI Agnostic:适用于任何 kubernetes CNI 网络插件。3.隧道管理和状态检查:包括连接两个或多个集群并定期执行状态检查的机制。4.服务发现和服务可访问性:将集群 IP 服务提供给其他集群。5.集群间网络策略:提供明确允许/拒绝流量的机制。企业相关人员不妨考虑一下。

那么,KubeCon + CloudNativeCon 的网络论坛都有哪些精彩演讲呢?

Kubernetes 的网络、存储和运行时该如何处理?

存储

Kubernetes 的网络、存储和运行时该如何处理?

Kubernetes 可支持基于 CPU 和内存资源的计划工作负载,并具有节点亲合性、Pod 亲和性和反亲合性。这对于无状态工作负载非常有效。而对于有状态工作负载,数据持久的存放在哪里合适?该怎么实现?传统的关系型数据库如何适应云原生?大数据的处理呢?传统架构下的集群文件系统如何向现代分布式文件系统转向?如果读者你带着这些问题的话,那么本次大会关于 Kubernetes 存储方面的经验分享可能就是你最最需要的内容。

Kubernetes 的网络、存储和运行时该如何处理?

Jiten Vaidya – PlanetScale CEO

Vitess,这是一款关系型数据库 MySQL 在云原生下的实现,由 Google 开发,用于 YouTube 等重要产品,现在为 CNCF 下重要的孵化项目,在这个主题下有两个分享,分别是来自京东的 xuhaihua,他将为大家带来京东这两年是如何实现 Vitess 的,从经济成本、技术实现、运营问题等各个环节,全方位的介绍一款开源项目如何在大型电商网站的利用和发展的。另外一个关于该主题的分享则来自 PlanetScale 公司,也是该公司的一号人物 - 首席执行官 Jiten Vaidya 为大家进行分享,他将为各位介绍数据库规划失败的案例。Jiten 将在现场进行演示,向大家展示如何使用 Vitess 设计高可用性,从而能够提前防备、避免灾难,并从灾难性故障中恢复。

Kubernetes 的网络、存储和运行时该如何处理?

Xiaoyu Yao – Cloudera首席软件工程师

Kubernetes 的网络、存储和运行时该如何处理?

Sammi Chen –腾讯云 软件工程师

大数据,重数据的业务,使用 Kubernetes 来处理,尽管提高了调度和计算,但是数据的存储和转移着实让人头疼,本次会议的分享在这方面的内容也有两块,首先是由 Cloudera 的 Xiaoyu Yao 和腾讯的 Sammi Chen 合作演讲的一个话题:“利用数据位置,从而实现在云原生环境中拥抱大数据工作负载“,二位将会比较 Kubernetes 主流容器挂载存储的数据位置支持。然后会介绍 Apache Hadoop Ozone 的网络拓扑支持,以及如何通过 Ozone CSI 插件将其用作位置感知容器挂载存储,以实现更出色的工作负载调度。最后是使用在 K8s 上运行的 Spark 来演示使用 Apache Hadoop Ozone 进行数据位置感知调度的好处。第二个关于和大数据处理分享的两位工程师均来自腾讯,他们分别是 Apache 成员堵俊平和他的同事 Yi Chen ,带来的主题是和 Hadoop HDFS 相关,具体内容是介绍腾讯云使用的 CSI 兼容 HDFS 插件的设计和架构。然后介绍,分享大数据工作负载 Spark 在 K8s 上运行时如何使用 HDFS CSI 插件访问 HDFS 数据的最佳实践和经验。最后,则介绍使用 TPC-DS 基准套件对 K8s 上运行的 Spark(支持HDFS)和在 YARN 运行的 Spark(支持 HDFS)之间的性能进行比较分析。

Kubernetes 的网络、存储和运行时该如何处理?

Jeff Layton – Red Hat首席软件工程师

传统存储的变迁:当仁不让的是来自 RedHat 的 Patrick Donnelly 和 Jeff Layton,Rook 是专门针对 Kubernetes 开发的存储的工具,用以自动部署存储并将存储挂载到 Pod。Rook 不断进行升级改造,以集成开源存储平台 Ceph 与 Kubernetes。Ceph 是当今广泛使用的分布式存储系统,可为应用提供统一的文件、块和对象接口。二位工程师将为与会者介绍目前已完成的 Ceph Nautilus 版本内容 —— 以动态创建高可用和可扩展的 NFS 服务器集群,这些集群可抛出 Ceph 文件系统 (CephFS),以用于 Kubernetes 或作为独立设备使用。CephFS 为应用提供了友好的编程接口,可用于创建共享卷。Ceph 和 Rook 可为每个卷协同管理动态部署 NFS-Ganesha Pod 集群的细节,并最大限度地降低操作员或用户的参与。

是不是都非常的诱人啊?解决的都是你遇到而未来得及进一步做的大问题。

那么,KubeCon + CloudNativeCon 的存储论坛都有哪些精彩演讲呢?

Kubernetes 的网络、存储和运行时该如何处理?

运行时

Kubernetes 的网络、存储和运行时该如何处理?

在今年3月份,伯克利分校发表了一篇关于 Serverless 的论文,让人们眼前一亮,恍若回到了十年前,伯克利也是就云计算发表了一篇影响深远的论文,其中有提到随着容器沙箱的成熟,是 Serverless 进一步被广泛应用的重要基础设施支持,容器天生是为了应用而生的,几乎没有任何的隔离,安全性向来被众多敏感的工程师所诟病,AWS 的 Firecracker 开源的时候,因为其卓越的 Lambda 产品而被受到热捧。那么 Kubernetes 支持下的运行时环境又是怎样一篇天地了呢?且让笔者为你娓娓道来。

Kubernetes 的网络、存储和运行时该如何处理?

倪鹏飞 – 微软 高级软件工程师

追本溯源是工程师的天性,是成为卓越高手的必由之路,业界大名鼎鼎的倪鹏飞,在极客时间开设专栏课程的网红明星,来为大家讲讲容器运行时的演化历程:Kubernetes 正成为在生产中构建和管理云原生应用的标准。毫无疑问,容器运行时是 Kubernetes 成功的关键。在本次演讲中,倪鹏飞老师就容器运行时接口 (CRI) 和各种容器运行时提供了一份详细的指南。解答:为什么有这么多容器运行时?各自有何优缺点?如何为 Kubernetes 集群选择和自定义容器运行时?容器运行时未来会怎样?

Kubernetes 的网络、存储和运行时该如何处理?

Xu Wang - Hyper.sh高级工程师

在了解了容器运行时之后,我们再来了解下当前的实际实现,由 Hyper.sh 的天才程序员兼首席技术官王旭和他的同事 Fupan Li 带来关于 Kata、gVisor 的定量分析,展示对 Kata 而言合理的 CPU/网络性能、文件系统存储的性能损失、Kata 的内存消耗以及 gVisor 的系统调用开销等。以及使用更新的测试套件对新推出的技术进行的基准测试,并帮助用户了解它们是否已生产就绪。

没错,gVisor 是 Google 开发的,和 Kubernetes 同门,是一种独特的开源沙箱运行时,支持以较高的隔离程度和低开销在容器中运行未修改的应用。Kata 是从 Hyper 演变而来的开源项目,二者之间究竟哪个更加适合运行时?不妨来看看工程师的实践证明:

Kubernetes 的网络、存储和运行时该如何处理?

Ian Lewis – Google开发者倡导者

gVisor,来自 Google 的 Ian Lewis,将会与大家探讨 gVisor 的容器安全模型以及容器沙箱化的用例。在深入剖析 gVisor 架构及其与基于虚拟机的沙箱的区别之前,他会先为听众介绍各种沙箱化方法及其各自的利弊,另外,还会通过演示一个采用 gVisor 和 Kubernetes 的最小化的 Serverless 平台,来总结分享的所有内容。

Kubernetes 的网络、存储和运行时该如何处理?

Jian Huang –华为 架构师

Kata 实践一: 华为的工程师 ChengLi 和 JianHuang 带来的是华为云利用kata实现 Serverless 服务的实践,据介绍,他俩将会展示 Kata 容器如何适应华为云的架构,以及 Kata 容器在生产中的性能和隔离测试结果。但作为一个较新的开源项目,Kata 容器还存在一些问题,例如异构硬件支持薄弱,存储和网络性能需要改进等。他俩还将分享如何解决这些问题。

Kubernetes 的网络、存储和运行时该如何处理?

Yifei Zhang –阿里巴巴 高级工程师

Kata 实践二: 阿里巴巴,Yifei Zhang 和 Huamin Tang,二位带来的亦是 Kata 应用于 Serverless 服务的情景,在阿里云,使用的是 ECS 裸机实例 + Kubernetes 作为 Serverkless 的基础设施,且将 Kata 容器用作容器运行时。Yifei Zhang 和 Huamin Tang 将谈论阿里云从使用 Kubernetes 解决裸机云多租户难题并实现高性能中所汲取的经验教训,多租户 Kubernetes 的设计和架构,如何使用 VPC 网络进行隔离,以及如何改进采用直连网络的 Kata 容器的性能以实现原生性能,例如使用 RunC 和 qcow2 图形驱动程序而非使用 9pfs 改进 I/O。

运行时,是平衡乖张的容器应用和安全运行不信任的代码之间完美的平衡之作,随着 Serverless 的兴起,这势必是很多人所关心的话题。

那么,KubeCon + CloudNativeCon 的运行时论坛都有哪些精彩演讲呢?

Kubernetes 的网络、存储和运行时该如何处理?

总结

300+ 的演讲者分享,任谁也无法照顾到所有,我们会尽最大努力帮助你梳理,根据你的兴趣来找到对应的分享嘉宾,让你有所成长、有所收获。

具体的技术术语,必须放在具体的环境中,才能理解其真实的涵义,围绕 Kubernetes 所发展起来的全新生态和技术世界,技术术语开始延伸、演变甚至和原来的意思想去甚远,网络也不再是国内计算机相关教育所使用的教材下网络术语,存储更是超越了当代学生的想象力。至于运行时,干脆就是给写代码的人一个任性的“沙箱“,笔者突然想到了 Richard Dawkins 和 Kevin Kelly 的观点,也就是说技术本身、文化本身也是向自然界一样演化的,而这个过程是逐步的,慢慢的,超越想象力的。就引用理查德道金斯先生的一句话来结束本文的冒险之旅吧.

“The solution often turns out more beautiful than the puzzle.”

------Richard Dawkins 生物学家《自私的基因》《盲眼的钟表匠》等科普畅销书作者

Kubernetes 的网络、存储和运行时该如何处理?

不出意料,本次大会的售票异常火爆,出于会场的安全考虑,参加大会的人数是被严格限制的,会务组将根据注册的人数提前关闭超过限额的售票通道,所以千万不要等到通道被关闭后再追悔莫及,现在的票价还有优惠。

标准票价优惠只到今天(6月6日),欲购从速:

标准注册:2000人民币(晚注册2400,即时可省400!)

贵宾注册:5000人民币(晚注册6000,即时可省1000!)

个人或学术注册: 500人民币(需要发送电子邮件至events@cncf.io 申请批准。晚注册600,即时可省100!)

扫描二维码到购票窗口,立即购票!

请!注!意!明天(6月7日)就要实行晚注册票价了,切勿犹豫不决,抓住最后标准票的机会。

2019年 6月24日~26日,请大家抓住机会,我们在上海世博中心不见不散!

会议更多信息及注册请点击文末【阅读原文】了解。

感谢活动赞助商

战略赞助商

华为云

双钻石赞助商

Tencent Cloud

钻石赞助商

Alibaba Cloud

Intel

铂金赞助商

Rancher Labs

SUSE

黄金赞助商

AWS

Baidu AI Cloud

CloudBees

Google Cloud

JD Cloud

Linux Foundation Training

Oracle

QingCloud

Red Hat

VMware

白银赞助商

Arm

博云 BoCloud

Ubuntu

Cloud Foundry

Elastic

F5 Networks

GitLab

杰蛙科技 JFrog

Kong

Mesosphere

Pivotal Software

Portworx

Ubuntu

UCloud

Yahoo Japan

初创企业赞助商

Ankr

Cloud To Go

EMQ

Giant Swarm

Hyperledger

Kontena

LF AI Foundation

PlanetScale

Reduxio

Upbound

睿云智合

焱融云

合作伙伴

中国开源云联盟

中国开源软件推进联盟

异步社区

掘金

开源社

Katacoda

Linux 中国

Linux Story

开源工场

云计算开源产业联盟

Women Who Code

CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。

CNCF云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2019-06-06
Kubernetes 的网络、存储和运行时该如何处理?
引言“ 系统正在变得越发复杂(sophisticated)。

长按扫码 阅读全文