在谷歌发明 Kubernetes 后的几年中,它彻底改变了 IT 运维的方式,并逐渐成为了事实标准,可以帮助组织寻求高级容器编排。那些需要为其应用程序提供 最高级别可靠性、安全性和可扩展性 的组织选择了谷歌 Kubernetes 引擎(Google Kubernetes Engine, GKE)。光是 2020 年二季度,就有 10 多万家公司使用谷歌的应用现代化平台和服务(包括 GKE)来开发和运行他们的应用。到目前为止, Kubernetes 还需要手工装配和修补程序来优化它才能满足用户需求。如今,谷歌推出了 GKE Autopilot,这是一个管理 Kubernetes 的革命性运营模式,让用户专注于软件开发,而 GKE Autopilot 则负责基础架构。
Kubernetes 和 GKE 提供的灵活性和强大功能非常适合许多企业,它们可以高度控制集群配置的大部分。但是,对其他企业而言,这种级别的控制和选择可能会压倒一切,也可能不需要满足其工作量需求,因为它们只需要一种简单的方法来构建一个更安全、更稳定的开发平台。Autopilot 可以帮助企业接受 Kubernetes,并通过管理集群基础结构、控制平台和节点简化操作。
Autopilot 优化了可投入生产的集群,从而提供了强大的安全态势和易于操作的配置,减少了学习集群配置的琐碎细节。Autopilot 还通过管理集群基础结构,帮助减少 Day-2 的运费成本,同时提高资源的利用率。对于完全管理 Kubernetes 来说,Autopilot 是一种无需动手的体验,它使用户能够更加关注工作负载,而非管理集群基础设施。
一套 GKE,两种运营模式
随着 Autopilot 的推出,GKE 用户现在可以从两种不同的运营模式中选择一种,它们各自对 GKE 集群具有一定的控制级别,并承担与之相关的责任。
GKE 已经提供了业界领先的自动化水平,Kubernetes 集群的设置和操作比自己动手和其他管理产品要简单得多,而且更经济有效;Autopilot 是一个重大的飞跃。除了 GKE 一直以来提供的完全管理的控制平面之外,使用 Autopilot模式的操作会自动应用行业最佳实践,并且可以消除所有的节点管理操作,使集群的效率最大化,并有助于提供更强大的安全态势。
GKE Autopilot
GKE 一直以来都在简化 Kubernetes,同时仍然给用户控制权。或许用户也想自定义 Kubernetes 集群配置,或者手动为集群配置并管理节点基础结构。如果是这样,用户可以继续使用 GKE 中的当前运营模式,即所谓的 标准(GKE Standard)模式,该模式提供了与 GKE 目前提供的同样的配置灵活性。
GKE Standard
把管理权交给 GKE
早期访问客户发现,选择 Autopilot 可以显著改善其 Kubernetes 环境的性能、安全性和弹性,同时减少管理 Autopilot 集群所需的整体运营负荷。以下是他们为之兴奋的一些好处。
像 Kubernetes 专家一样优化生产
在使用 Autopilot 时,GKE 基于从谷歌 SRE 和工程经验中获得的经过实战检验和强化的最佳实践创建集群。这些优化的配置能够投入生产,有助于降低 GKE 的学习曲线。GKE 也能根据用户的工作负载规范自动配置集群基础设施,并且能够负责节点基础设施的管理和维护。
“降低复杂度,同时最大限度地利用 Kubernetes 是我们的关键,而 GKE Autopilot 正是这样做的!”
——STRABAG BRVZ 团队负责人 Mario Kleinsasser
从头开始享受更强大的安全态势
在保护集群方面,GKE 已经做了大量的工作:从底层硬件增强到虚拟化、操作系统、Kubernetes 和容器层。在 Autopilot 的帮助下,GKE 基于多年运行 GKE 团队的经验,帮助保护了集群基础设施。Autopilot 执行 GKE增强指南 和安全最佳实践,利用 GCP 的独特安全特性,比如 屏蔽 GKE 节点 和 工作负载标识。另外, Autopilot 还会阻止某些被认为不太安全的特性,比如外部 IP 服务或遗留授权,禁用 CAP_NET_RAW 和限制使用特定的密码套件。Autopilot 通过锁定单个 Kubernetes 节点,进一步降低了集群的攻击面,最小化了持续的安全配置错误。
使用谷歌作为节点和控制平面的 SRE
谷歌 SRE 已经处理过 GKE 的集群管理;使用 Autopilot,Google SRE 还可以管理节点,包括配置、维护和生命周期管理。由于 Autopilot 节点是锁定的,因此可以防止系统管理员级别的修改,因为这些修改可能会导致节点无法支持。Autopilot 还支持维护窗口和 pod 中断预算,确保维护的灵活性。除了 GKE 在主机和控制平面上的 SLA 之外,Autopilot 还包括在 Pod 上的 SLA,这是第一个。
“GKE Autopilot 是我们一直期待的真正无服务器的 Kubernetes 平台。开发人员可以把精力集中在工作负载上,并将底层基础设施的管理交给谷歌 SRE”
——Via Transportation 工程副总裁 Boris Simandoff
支付所使用的优化资源
在 Autopilot 的帮助下,谷歌将根据工作负载规格和动态负载来配置和扩展底层计算基础设施,从而提供有效的资源优化。Autopilot 动态地调整计算资源,因此用户不需要计算出工作负载中应配置的节点的大小和形状。使用 Autopilot,用户 只需为使用的 Pod 支付费用,并按 vCPU、内存和磁盘资源请求的每秒收费。不要再担心没有使用的容量!
Autopilot 被设计为广泛兼容 GKE 一贯的工作方式和合作伙伴的解决方案。Autopilot 从一开始就支持 Datadog 的日志和监控,以及 GitLab 的 CI/CD。这两者和现在的 GKE 是一样的:不需要不同的配置或者使用侧边栏。目标是与合作伙伴完全兼容,并期望在未来几个月内实现更多的集成。谷歌对 GKE 为运行复杂的分布式应用所带来的巨大效率感到自豪,GKE Autopilot 代表了管理和运营方面的下一个大飞跃。
作者介绍:
Drew Bradstock,GKE 集团产品经理。