我们如何在1.4中改进Kubernetes Dashboard UI以满足您的生产需求

随着发布 Kubernetes 1.4 上周,Dashboard – Kubernetes的官方Web UI –进行了许多激动人心的更新和改进。过去三个月来Dashboard团队一直很忙,我们很高兴在这里分享这项工作的成果。如果您不熟悉资讯主页, 的GitHub回购 是入门的好地方。

在重新诠释我们闪亮的新功能之前快速回顾一下:Dashboard最初于2016年3月发布。这是Kubernetes新手入门的一种不太吓人的方式,并且通过一次显示多个资源,它提供了缺少 Kubectl (CLI)。但是,在该初始版本发布之后,产品团队意识到针对初学者的微调已经超越了我们自己:Dashboard仍然需要满足基本的产品要求,以便拥有功能强大的UX来吸引新用户。这就是我们发布此版本的任务:通过显示更多资源来弥合Dashboard和kubectl之间的鸿沟,利用Web UI在监视和故障排除方面的优势,并以用户友好的方式进行架构。

监控图
实时可视化是UI优于CLI的一种优势,而1.4版我们很高兴利用此功能,为集群中运行的所有工作负载引入了实时CPU和内存使用情况图表。即使有众多用于监视的第三方解决方案,仪表板在该区域也应至少包括一些基本的即用型功能。图的路线图上的下一个步骤是延长图表示的时间跨度,添加向下钻取功能以显示更多详细信息以及改进不同图之间关联数据的用户体验。

日志
基于对Kubernetes的前身的用户研究 博格 以及持续的社区反馈,我们知道日志对用户非常重要。因此,我们一直在寻找改善Dashboard中这些功能的方法。此版本包含一个问题修复程序,其中大量日志将使系统崩溃,并且引入了按日期查看日志的功能。

显示更多资源
先前的版本将所有工作负载带到了仪表板:容器,宠物集,守护程序集,复制控制器,副本集,服务和部署。在1.4版本中,我们通过包含服务,入口,持久卷声明,机密和配置映射扩展了该对象集。我们还引入了“管理”部分,其中包含与命名空间无关的全局对象,包括命名空间,节点和持久卷。添加角色后,这些角色只会显示给集群运营商,而开发人员的侧面导航将从命名空间下拉列表开始。

就像将一堆松散的文件胶粘在一起形成一本书一样,我们需要某种方式对这些资源施加顺序,以实现其价值,因此,我们最高兴在1.4中宣布的功能之一就是导航。

导航
在1.1版中,所有资源都简单地堆叠在一个页面中。侧面导航的引入使您可以快速访问要检出的群集的任何方面。达到此解决方案意味着需要花费大量时间来思考Kubernetes对象的层次结构-这是一项艰巨的任务,因为通过设计,事物可以像活生物体一样组合在一起,而不是嵌套的线性关系集。我们提供的解决方案平衡了组织的分组需求和希望保持对尽可能多的相关信息的鸟瞰图的平衡。侧面导航的设计简单灵活,可以在将来容纳更多资源。它的顶级对象(例如“工作量”,“服务和发现”)将汇总其子对象,并最终包括这些对象的汇总数据。

与材料设计更加一致
资讯主页跟随Google的 材料设计 系统,并在新用户界面中完善了这些原则的实现:全局创建选项已从两种选择减少到一个初始的“创建”按钮,Kubernetes官方徽标显示为SVG而非简单的文本和卡片旨在帮助更好地对不同类型的内容进行分组(例如,“工作负载”页面上的复制控制器表和Pod表)。 Material围绕以桌面为中心的企业级软件的准则目前是受限制的(而是专注于移动优先环境),因此我们不得不在UI的某些方面即兴创作,并与Google Cloud Platform的UX团队密切合作为此,请利用他们在信息密集的环境中实施Material的专业知识。

样例用例
为了展示Dashboard 1.4的新功能套件以及它们如何使用户在现实世界中生活得更好,我们来设想以下情形:

我是集群运营商,并且一位客户向我发出警告,警告他们的应用Kubernetes Dashboard遇到性能问题。解决此问题的第一步是切换到正确的命名空间kube-system,以检查可能发生的情况。

进入相关的命名空间后,我检查我的部署,看是否有什么问题。果然,我注意到CPU使用率激增。

我意识到我们需要对该应用程序的新版本进行滚动更新,以处理明显收到的增加的请求,因此我更新了此Deployment的映像,从而创建了一个新的 副本集.

现在已经创建了副本集,我可以打开其中一个窗格的日志,以确认它已成功连接到API服务器。

如此简单,我们已经调试了问题。仪表板为我们提供了一个集中的位置,以扫描问题的根源,一旦我们确定了问题的根源,便能够深入研究并解决问题的根源。

为什么跳过版本?
如果您从1.0开始就一直关注Dashboard,那么您可能会对我们版本控制的升级感到困惑;我们去了1.0、1.1 ... 1.4。我们这样做是为了与主要的Kubernetes发行版保持同步,并希望继续进行下去将使这种关系更容易理解。

还有更多来自何处
仪表板正在蓬勃发展,而这些早期阶段是一个非常激动人心且有意义的时间。如果您想了解有关贡献的更多信息,请查看 SIG用户界面。与我们聊天Kubernetes 松弛: #sig-ui频道.

-Apprenda用户体验设计师Dan Romlein