您的位置:首页 > 编程语言 > Go语言

Austin 第二天 | 炫技!Google 语音操控 GKE 部署集群及扩容服务

2017-12-08 16:42 477 查看
KubeCon + CloudNativeCon NA 2017 第二天上午共有 6 场精彩的 Keynote 演讲,从多个角度展现了 Kubernetes 和 CNCF 项目在技术开放性、企业应用、社区开发方面的魅力。

戳“阅读原文”,看现场直播!

KubeCon
Opening Keynote

1

Cool V.S. Boring

Opening Keynote:《Project Update》

一反首日 Project Updates 逐个介绍 CNCF 项目的严肃气氛,来自 Google 的 Kelsey Hightower 的 Keynote 主要由现场演示的方式呈现。



Kelsey Hightower 在 Keynote

Kelsey 开场就声称 Kubernetes core is boring & kubectl is the new ssh。但在云原生的时代,理应有更多的工具和服务构建在 Kubernetes 之上,开发者并不需要直接接触 Kubectl。

Kelsey 尝试展现一个 Hello World KubeCon 应用的演进过程 DEMO,围绕 Git Commit / Github PR / GCE Build Pipeline 进行,对应编程、调试、QA、审核、自动化部署等常见的开发流程。

整个演示中 Kelsey 先后两次以“近乎炫技”的方式,通过 Google 语音助手来操控 GKE 部署集群及扩容服务,赢得现场观众多次的掌声回应。

Keynote:《Red Hat: Making Containers Boring (again) 》

无独有偶,第三场来自于 Red Hat 架构师 Clayton Coleman 的 Keynote 也提到了“Boring”这个关键字。Clayton
介绍了在维护 Openshift Online 这一超大型公有 Kubernetes 服务的过程中,Red Hat 遇到了许多意想不到的技术挑战,包括大量用户带来的 Events 爆炸、Secrets 过量等,工程师团队研究解决后都贡献回上游,促进项目演进以达到“Make Infrastructure Boring & Make User Happy”的目标。



Red Hat: Clayton Coleman 在 Keynote

自 Kubernetes 起,CNCF 的开源项目被众多企业广泛使用的同时,也受到全世界大量开发者的贡献和回馈,这是云原生时代的企业成功和技术发展能和谐共进的一大特色。

3

Kubernetes 与企业应用

Keynote:《The Road Ahead on the Kubernetes Journey》

Heptio 是今年 KubeCon 上一家耀眼的明星企业,Heptio CEO,同时也是 Kubernetes co-founder 之一的 Craig McLuckie,在 Keynote 中发起了对 Kubernetes 未来发展方向的思考。



Heptio: Craig McLuckie 在 Keynote

他同时指出了 Kubernetes 三个未来的方向:

Dev productivity matters

Multi cloud is coming

Enterprise is complicated

4

HBO:“权利的游戏”下的巨大挑战

Keynote:《Pushing the Limits of Kubernetes with Game of Thrones》

来自 HBO 的工程师 Illya Chekrygin 非常接地气地介绍了“权利的游戏”这一大热 IP 对 Live Streaming 服务带来的巨大挑战。



HBO: Illya Chekrygin 在
Keynote

机器资源利用率过低、VM 扩缩容太慢,从而导致尖峰流量难以支撑是流量型互联网服务的难题之一,同时也是容器化和 Kubernetes 试图用技术方式而非运维人力去解决的典型场景。

工程师 Zihao Yu 介绍了 HBO 如何一步步优化 Kubernetes + AWS 的方案,包括集群的部署管理、网络方案的选择、DNS 性能优化等,从而成功落地,抗住 GoT 第七季直播线上压力的过程。



HBO: Zihao
Yu 在
Keynote

5

Kubernetes 的技术进步

另两场 Keynote 以技术安利为主。

Keynote:《Progress Toward Zero Trust Kubernetes Networks》

来自 Tigera 的 Spike Curtis 主要介绍了非可靠的网络环境下如何用 Calico Policy 来强化网络层面的的安全性。

Keynote:《Kubernetes Secret Superpower》

来自 Google 的 Chen Goldberg 介绍了 Kubernetes 架构中 Automation 的机制及强大的扩展性,期间 Anthony Yeh 则在现场演示了如何利用这一机制的支撑,以区区百行 JavaScript 代码实现 StatefulSet
控制器的大部分功能。

资料可以参考: 
https://github.com/GoogleCloudPlatform/kube-metacontroller/tree/master/examples/catset 
KubeCon:Session


Heptio: Building a Cluster Management API
Using Kubicorn

来自 Heptio 的 Kris Nova 和 Google 的 Robert Bailey 给大家带来了 Kubernetes 在集群维护方面的 API 介绍和基于 Kubicorn 的现场演示。

Kris Nova 是 wg-cluster-api 的负责人之一,也是 Kubicorn 工具的作者。Kris 图示介绍了在 Kubernetes 集群维护和使用过程中 API 的逻辑层次;Cluster Managment API 介于 1、2 层中间,其中 Machine
API 是底层资源(机器)的抽象,实现层面将与各大云平台打对接;控制平面 API 包括 Apiserver 等组件的维护功能,实现上交由 Kubeadmin 完成。

Kris Nova

Robert Bailey 是 SIG Cluster Lifecycle 的 Co-leader。Robert 先讲解了 Machine 的声明式定义(笔者注:与 Kubernetes Node 不同,Machine Spec 将更关注宿主机本身的配置、供应商配置以及集群外组件如
Kubelet, Container Runtime 版本等信息),然后利用 Kubicorn 工具来演示 Cluster Managment API 能达到的效果,包括机器的添加,自动加入集群,扩容,Kubernetes 版本升级等。

Robert Bailey

Q & A 阶段,Robert 介绍到未来 Cluster Managment 控制服务将可以在 Kubernetes 集群外独立运行,以完成最初的 Kubernetes 集群的创建过程,然后再将集群管理的能力交给 Kubernetes 控制平面以实现自举管理。

Robert Bailey 和 Kris Nova

Kubernetes 集群的安装和升级,长久以来都是集群运维头痛的问题,也催生了众多的工具。SIG Cluster Lifecycle 推动的统一 API 将为未来 Kubernetes 的集群管理打下良好的基础。从上游的规划来看,在 1.10,Machine API
将迎来 v1alpha1。

资料参考:
https://github.com/kubernetes/kube-deploy/tree/master/cluster-api https://github.com/pipejakob/kube-deploy/tree/03026680effd14433ae7ed6045cc820496392d7d/cluster-api/machines-api


Joe Beda:The Road to More Usable Kubernetes

Joe
Beda 在他的 Session:《如何让 Kubernetes 变得更可用》的开篇,就提到了 “开源的困境”。即如果开源软件在可用性上做得不好,那么就会给供应商提供很多机会,在易用性上进行提升并体现其产品价值;但同时,不好的易用性也会阻碍社区的发展和技术的流程。如果易用性做得好,那么社区就会发展得更好,但相应的留给供应商的机会和空间就少很多。

那么 Kubernetes 的可用性如何?从 Joe 和笔者的角度来看,Kubernetes 的可用性在今天也还不尽如人意。

接下来, Joe 开始着重分享自己对 Kubernetes 易用性的思考。根据用户体验学术界方法论 Persona,我们可以将 Kubernetes 的用户群体分为四类:

集群和服务运维者(Cluster/Service Ops);

用户应用运维者(Application Ops);

集群和服务开发者(Cluster/Service Dev);

用户应用开发者(Application Dev);

如下图所示,并针对这四类人分析了其使用场景和易用性关注点:

Cluster/Service Ops:集群和服务运维者更关注如何能更方便地部署、管理集群和服务;此外,可以将各类管理工具、运维工具与环境和
Kubernetes 有机地整合起来。

Application Ops:用户应用运维人员更关注如何定义和部署应用,并管理应用的生命周期;当前社区里有很多插件旨在对用户应用运维人员提供便利,例如
Helm 等。

Cluster/Service Dev:集群和服务的开发者不光包括社区
Kubernetes 开源贡献者,还包括对 Kubernetes 核心功能进行扩展的插件贡献者。这类群里关注的是如何能让自己的软件、插件更加的通用,形成标准,这就需要 Conformance(合规性)的保证。

Application Dev:对于用户应用开发者来说,如何让他们从传统的开发流程迁移到基于容器和
Kubernetes 的新流程则是最大的挑战;同时从传统的应用架构迁移到云原生、微服务的架构也需要开发者思维理念上的转变。

Joe 为听众带来了 Heptio 在解决上述问题的一个尝试 —— Ksonnet。Ksonet 是一个用来简化 Kubernetes 部署的工具。Ksonnet 借鉴了 Borgcfg(Google 内部容器系统 Borg 的管理工具),来提高 Kubernetes
的可用性。有兴趣的读者可以关注 Ksonet(https://ksonnet.io/)来获取更多细节。

从笔者的角度来看,Kubernetes 的易用性确实是当前无法被企业采用的最大痛点;结合今年 6 月「K8sMeetup 中国社区」所做的中国容器用户调研来看,Kubernetes 的易用性确实是中国用户的最大心头之痛。

如下图 “用户最不喜欢的 Kubernetes 的原因” 所示,陡峭的学习曲线排名遥遥领先:

毫无疑问,Kubernetes 社区会加速解决 Kubernetes 的易用性问题,让其能够更广泛地被用户采用。那同时如何解决 Joe 提出的 “开源的困境” 问题,让基于 Kubernetes 的厂商能够有自己的商业空间呢?笔者认为,真正的商业价值不仅仅局限于对
Kubernetes 自身的易用性增强,让它可以被更容易的部署和管理;真正的商业价值应该在于如何利用 Kubernetes 所提供的“算力”和能力,来构建上层的业务系统和附加功能。


Panel: Kubernetes, Cloud Native and the Public Cloud

CNCF 推广软件云原生化的忠旨是容器化封装、动态调度管理、微服务化。CNCF 管理的开源项目也逐渐增多,并在企业中落地应用。

AWS、Google、阿里云、IBM、Oracle 是当今最受欢迎的 5 家公有厂商。今天,这几家公司的专家聚集在圆桌,畅谈云原生项目在各自企业的应用。类似 Containerd、Rocket、Prometheus、Kubernetes、Istio 等项目已在这些公司的生产环境中落地或在研发部门的机器学习、微服务改造等预研课题中实践,大大优化了企业的生产流程提升了效率,云原生是今后软件的发展方向。未来将会有越来越多的项目加入
CNCF。

原文地址:http://mp.weixin.qq.com/s/iAhDDlv5qMsjLX3UBgsp4g
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: