云原生技术已成主流,我们打造的 Kubernetes 也已成为构建和运维现代化软件的核心。我们正在努力打造行业标准和服务,让任何人都可以轻松使用这些服务。一起看看, Google Cloud 的 Kubernetes 世界中都发生了哪些新鲜事,以及我们具体是如何让每个人都可以更轻松地使用这项底层技术,并从中获益的。


1. 如专家般运行生产就绪的 K8S


Google Kubernetes Engine (GKE) 是我们的托管式 Kubernetes 服务,该服务始终致力于帮助用户更轻松地运行容器化应用程序,并提供用户所需的控制能力。在 GKE 全新运维模式 GKE Autopilot 的帮助下,用户将能获得自动化的 Kubernetes 体验,借此针对生产环境优化集群,降低管理集群所造成的运维成本,交付更高可用性的工作负载。

“降低复杂性的同时更充分地利用 Kubernetes , 这对我们很重要,而 GKE Autopilot 完全做到了这一切!”—— STRABAG BRVZ

希望平台具有灵活的、高级的配置能力的客户可以继续使用标准运维模式下的 GKE 。随着客户逐渐扩张生产环境,应用程序需要更高可用性,希望降低问题影响范围,或按照类型对不同服务进行分散运行,这些因素使得客户往往需要跨越多个集群进行部署。借助最近发布的 GKE 多集群服务, Kubernetes Services 对象已经可以横跨一个区域内的多个集群,跨越多个区域,甚至跨越多个地区,并且可以用最少量的配置或开销,管理集群之间的互联。 GKE 多集群服务可以帮助用户更专注于应用程序自身的需求,多集群拓扑可交由 GKE 负责管理。

“我们原本通过一个多租户 GKE 集群运行了所有微服务。对于下一代 Kubernetes 基础架构,则正在设计多区域的异构和同构集群。但为此首先要以无缝的方式实现多集群服务必不可少的集群间东西向通信。开发者无需考虑服务到底在哪里运行。我们对此非常激动。”—— Mercari


2. 为 GKE 创建并扩展 CI/CD 管道


对持续集成和持续交付 (CI/CD) Pipeline进行扩展可能是一个耗时的过程,涉及大量需要手工执行的步骤:配置 CI/CD 服务器、确保配置文件保持最新,还需要将具备正确凭据的镜像部署至 Kubernetes 集群。我们的无服务器  CI/CD 平台 Cloud Build 通过多种功能尽可能简化了整个过程。

首先, Cloud Build 原生支持 buildpacks ,借此用户无需使用 Dockerfile 即可构建容器。作为构建工作的一部分,用户可以使用自己的容器镜像,或选用预购建镜像以节约时间。此外,因为 Cloud Build 是一个无服务器平台,因此无需预配服务器,或事先付费购买所需容量。借助该平台内置的漏洞扫描功能,用户可以对 CI/CD Pipeline 进行深入的安全扫描,以确保仅可信赖的工件能够进入生产环境。最后,Cloud Build 还可帮助用户点击几下鼠标为 GKE 创建持续交付 Pipeline 。这些 Pipeline 容纳了拆箱即用的最佳实践,所有最佳实践源自 Google 多年来运维 Kubernetes 所积累的经验,可进一步降低配置和管理 Pipeline 的工作负担。

“迁移至 Google Cloud 前,要想在 24 小时内按照客户的功能请求进行开发并发布到生产环境,这种想法的难度无异于登月。但现在已经能顺利实现了。”—— Craig Van Arendonk ,消费者和销售部门IT总监, Gordon Food Service


3. 在 K8S 上轻松管理安全性与合规性


您从 GitHub 代码库获得的开源版本的 Kubernetes 软件本身并不是一个安全锁定的环境。在设计上,该版本并没有充分考虑安全问题,而是主要专注于可扩展性,致力于解决有关灵活性和可用性的问题。

因此 Kubernetes 的安全性严重依赖于与其他系统(如标识和授权)的集成。这很正常!这意味着 Kubernetes 可以适用于大量用例。但同时这也意味着 Kubernetes 软件的默认设置就不一定适合自己。如果希望以“默认即安全”的心态部署 Kubernetes ,那么就需要注意多个核心安全组件。正如容器安全基本原理白皮书所述,GKE 有一些与网络有关的功能可以帮您提高 Kubernetes 的安全性:

  • Secure Pod networking ——在 Dataplane V2 (已正式发布)中,我们会在用户创建集群时启用Kubernetes网络策略。此外 Network Policy Logging (已正式发布)可以帮助用户更全面地了解集群网络配置,进而确定哪些系统之间会产生通信。

  • Secure Service networking —— GKE Gateway 控制器(目前提供预览版)可在不影响灵活性和开发者自主性的前提下提供集中化的控制力和安全性,并且均可通过标准化和描述式的 Kubernetes 接口实现。

“在 K8S 中实施网络策略是个很麻烦的任务,需要大量的猜测和反复试验,因为需要尽可能了解应用程序在网络连接方面所表现出的各种行为。此外,很多合规与监管框架需要以控制配置和违规日志的形式提供有关防御态势的相关证据。在 GKE Network Policy Logging 的帮助下,我们可以快速隔离并解决问题,并在审计期间提供所需证据。这大幅简化了网络策略的实施和操作。”—— Credit Karma


4. 针对警报、 SLO 、指标和日志获得集成视图


在对生产环境进行排错和优化过程中,针对应用程序和基础架构获得深入可见性的能力至关重要。GKE 可在用户部署应用时自动监视所部署的应用。GKE 集群包含预装的代理程序,可以收监控测数据并自动将其发送至其他监控服务,如 Cloud Logging 和 Cloud Monitoring 。这些服务能够与 GKE 深入集成,借此为用户提供更深入的监控信息,便于用户在故障发生时快速采取措施。

例如,GKE 仪表板提供了集群、名称空间、节点、工作负载、服务、Pod 以及容器的指标摘要信息,并能跨越所有这些实体为 Kubernetes 事件和警报提供统一的视图。用户可以从警报或仪表板直接跳转至特定资源的日志,并直接浏览相关资源本身,而不需要混合使用来自不同供应商且缺乏相互关联的工具。

同理,由于监控数据可自动传输至 Google Cloud 可观测性服务套件,用户可立即使用基于 Google 的 Site Reliability Engineering (SRE) 原则开发的各类工具。例如 SLO Monitoring 可以帮助用户创建错误预算并针对不同目标监视各类服务,借此在开发和运维团队中加强责任机制。在集成式 OpenTelemetry 领域的持续投入,还将进一步改善平台和应用程序层面的监控数据收集能力。

“[使用 GKE 后] 完全无需设置即可跨越整个环境查找错误……与云原生资源的直接集成可以及时地为我们提供所需信息。”—— Erik Rogneby,平台工程总监, Gannett Media Corp


5. 借助 Anthos 在任何位置管理并运行 Kubernetes


通过 Anthos ,用户可以借助自有数据中心或其他云平台更充分地利用 GKE 能力。 Anthos 可以帮助用户将 GKE 以及其他重要框架和服务放在任何基础架构上运行,并通过 Google Cloud 集中管理。

跨越多个云平台创建安全的环境,这是一项充满挑战的工作。每个平台有着不同的安全能力、身份系统和风险,额外为其他云平台提供支持,往往意味着安全方面的工作量会翻倍。但 Anthos 让很多挑战迎刃而解。在它的帮助下,无需依赖应用程序或云基础架构团队构建多平台运维工具,Anthos 提供了拆箱即用的所需功能。Anthos 提供的核心能力可以帮助用户跨越 Google Cloud 和 AWS 部署并运维基础架构和服务,并且很快还将增加对 Azure 的支持。

我们最近发布的 Anthos 1.7 提供了一系列功能,可以让多云环境更易于使用,可持续性更强。欢迎进一步了解最新版 Anthos 如何实现成功的多云部署。

“通过使用 Anthos , 我们可以让新服务的开发和交付速度进一步加快。”—— PKO Bank Polski


6. 大规模 ML 更简单


GKE 提供了灵活性、自动扩展能力以及更简单的管理,而 GPU 带来了更卓越的处理能力。随着 GKE 对多实例 NVIDIA GPU 的支持(目前提供预览版)发布,用户现在已经可以将一个 NVIDIA A100 GPU 通过分区操作拆分为最多 7 个实例,并为每个实例提供专用的高带宽内存、缓存以及计算内核。每个实例可分配给一个容器,因此每个 NVIDIA A100 GPU 做多可支持7个容器。此外,多实例 GPU 还能在容器之间实现硬件隔离,并为 GPU 上运行的所有容器提供一致且可预测的 QoS。

“通过减少将 GPU 连接到资源过程中所需配置环回的数量,Google Cloud 和 NVIDIA 在降低大规模 ML 系统部署壁垒方面更上一层楼。除了降低配置复杂性,NVIDIA A100 的纯 GPU 推断性能也大幅提升。与 Google Cloud 的合作为我们提供了大量卓越的选择,帮助我们以最适合自己的方式部署 AI 。”—— Betterview


相关推荐