Austin 第三天 | K8sMentoring 倡议开发者加入社区
KubeCon + CloudNativeCon NA 2017 共有 4 场精彩的 Keynote。在本次大会的闭幕日,开场和压轴都毫无意外地留给了 Google。
Keynote
Keynote: Kubernetes Community
Sarah Novotny, Head of Open Source Strategy, Google Cloud Platform, Google
在开场 Keynote 中,Google 云平台部门开源负责人 Sarah Novotny 讲述了她参与两年 KubeCon (2015-2017 年)前后的心情对比。她半开玩笑地说到,她个人并不热衷于超大规模(本次 KubeCon 已经达到了 4100 人)的会议,但数日内 Twitter 上 #KubeCon 的热议又给了她足够的动力来分享感慨。
在演讲中,Sarah 提出了 K8sMentoring 的倡议,旨在帮助和引导更多的开发者来加入 Kubernentes 社区,从海量的开源项目中找到适合自己的学习曲线。
Keynote: Kubernetes at GitHub
Jesse Newland, Principal Site Reliability Engineer, GitHub
GitHub 一直是全世界开发者热爱并依赖的一项 SaaS 服务。在今年中期,GitHub 就自豪地向用户宣布 github.com 和 API 服务部署都完成了向 Kubernetes 的迁移。在今天,来自 GitHub 的 SRE Jesse Newland 带来了更多的细节。
除了介绍 github.com 和 API 服务中 Unicorn 程序的部署方式和 LB 的运行方案等技术细节外, Jesse 还在开场告诉大家,GitHub 的 Ops 团队在数年前也曾有自研容器运维平台的想法,但是在如山的技术挑战前,团队冷静地选择了放弃,取而代之的是等待更强者的出现,而如今,GitHub 已经将 20% 的服务完全迁移到 Kubernetes 部署,并且稳定运行了半年左右。对此,他也非常感谢 Kubernetes 社区的伟大成果。
Keynote: What's Next? Getting Excited about Kubernetes in 2018
Clayton Coleman, Architect, Kubernetes and OpenShift, Red Hat
再次登台的 Clayton Coleman 发表了对于 2018 年 Kubernetes 及社区演进的展望,“Excited” 也取代了 “Boring” 成为了他今天演讲的关键词。他率先将 2018 年定为服务网格(Service Mesh)之年,随着微服务理念在企业应用和工程项目中的推广,服务网格的技术也会日趋成熟落地。正如笔者观察,三天正会和之前的小型峰会中,形如 Istio 这样的服务网格项目一直是众人关注的焦点。紧接着 Clayton 细数了当前社区活跃的其他应用场景和技术方向,包括 Container Identity, Serveless, Data Pipeline, App Lifecycle, Multitenancy 以及 Container Runtime。
Keynote: What is Kubernetes?
Brian Grant, Principal Engineer, Google
Brian Grant 尝试从 10 个角度发问来理解和定义今天的 Kubernetes 到底是是什么。最早的官网曾经只将 Kubernetes 定义:yet (another) container orchestration system。但时至今日,随着数年的发展和社区的力量,Kubernetes 已经演进成为云原生时代的操作系统,其越来越多的特性也成为业界标准,比如,声明式的控制平面 API 和自动化机制,分布式的配置管理等等。与此同时,Kubernetes 社区也演化成了巨大的生态系统。
Session
Highly Available Services During Maintenance Events
来自 Google 的 Maisem Ali 和 Eric Tune 为大家带来了 Kubernetes 在维护应用服务 HA 方面的机制介绍和演示。
在 Kubernetes 集群中,节点维护往往会带来容器的迁移和应用服务的宕机时间。较之于在运维层面切换流量,Eric Tune 更建议开发者在编程和部署阶段就为故障容忍能力做出设计和支持。
Kubernetes 为应用维护者提供了优雅关闭支持和 PDB (Pod Disruption Budget) 的机制。PDB 能确保 Node Drain 和 Pod Eviction 的过程中,服务后端的容器保持在指定的数量,不会全部进入迁移状态从而造成服务整体宕机。随后 Maisem Ali 用视频演示了 Node Drain 的过程和 通过 PDB 配置确保一个多副本的 Cassandra StatfulSet 的高可用。在演示的过程中,一个 Kubernetes 节点被逐步下线,Cassandra 容器发生了迁移,但持续的 QPS 监控显示整体服务毫无波动。
You Have Stateful Apps-What if Kubernetes Would Also Run Your Storage?
Annette Clewett 和 Sudhir Prasad 分享了关于在 Kubernetes 上运行有状态的应用时如何使用存储服务。
Annette Clewett,红帽高级存储架构师,具有宽泛的知识领域:网络、存储、虚拟化等,成功的发布了无数的研究成果帮助终端用户搭建高效高可用的基础设施,当前正致力于云原生存储架构的研究中。
Sudhir Prasad,红帽产品总监,在红帽主导 Kubernetes 上容器原生存储的研究。作为工程的领导,他聚焦于系统架构设计、高可用、易管理、易用以及自动化工作流。
当前对容器存储的需求主要分为三类:基础架构存储(包括镜像仓库、监控指标、日志)、应用需要持久化的数据、本地临时存储(包括无状态应用、镜像)。这里集中讨论前两类需求。
目前应用使用存储服务主要有三种模式。第一种模式使用适配器/插件对接到外部公有网络存储或块存储。这种模式今后的优化方向是统一存储接口——Container Storage Interface。第二种模式是将用户应用和存储服务运行在两个不同的集群中,管理员不提供存储申请的用户界面和命令行,用户通过 API 申请。第三种模式是将存储服务和应用运行在同一个集群中,存储就像 Kubernetes 集群中一个普通服务。在这里 Sudhir Prasad 举例介绍了 gluster-kubernetes 项目,可以在 Kubernetes 集群中轻松的原生部署 GlusterFS 存储服务,而且像普通应用一样管理和编排。
在 GlusterFS 集群部署成功后,管理员即可创建 StorageClass,通过 Heketi 调用存储服务,创建数据卷挂载给应用使用。
之后 Annette Clewett 做了现场 Demo:
资料参考
https://github.com/gluster/gluster-kubernetes
结 语
KubeCon + CloudNativeCon NA 2017 结束了,这场会议不仅给 Kubernetes 爱好者提供了一个专业又轻松的交流机会,对于参会的厂商来说,也是一次非常宝贵的经验。参与此次 KubeCon, 对 Kubernetes 在中国的落地提供了更明确的方向,也希望明年在上海的 KubeCon, 可以看到更多的“中国声音”。
推荐阅读:
Austin 第二天 | 炫技!Google 语音操控 GKE 部署集群及扩容服务
Austin 现场重磅 | 2018 KubeCon 将登陆中国!
K8sMeetup 预告
戳 “阅读原文”,立即报名参加双城 K8sMeetup
12 月 16 日深圳 K8sMeetup
12 月 17 日北京 K8sMeetup + KubeCon 分享会
期待与您在这个冬日周末,温暖相聚!
END