Anthos 技术概览

Anthos 是一个现代应用管理平台,可为云端和本地环境提供一致的开发和运营体验。此页面概述了 Anthos 基础架构的每一层,并介绍了如何利用其功能。

下图展示了 Anthos 组件和功能,以及它们如何在各种环境中提供 Anthos 功能(从基础架构管理到协助应用开发)。

显示 Anthos 组件的图

下表显示了目前可在 Google Cloud、AWS、连接的 Kubernetes 集群或本地使用的组件。如需查看 Anthos 订阅中包含的每个部署选项的功能的完整列表(包括产品子组件),请参阅 Anthos 部署选项

核心 Anthos 组件 Google Cloud 本地 多云端/AWS 关联集群
基础架构、容器和集群管理 GKE
多集群 Ingress
Anthos clusters on VMware AWS 上的 Anthos 集群
多集群管理 Environ、支持 Environ 的组件和 Connect Environ、支持 Environ 的组件和 Connect Environ、支持 Environ 的组件和 Connect Environ、支持 Environ 的组件和 Connect
配置管理

Anthos Config Management
Policy Controller
Config Connector

Anthos Config Management
Policy Controller
Config Connector

Anthos Config Management
Policy Controller

Anthos Config Management
Policy Controller

迁移 Migrate for Anthos Migrate for Anthos Migrate for Anthos
服务管理

Anthos Service Mesh
Anthos Service Mesh 信息中心
MeshCA 证书授权机构

Anthos Service Mesh
Grafana 和 Kiali 信息中心
Istiod 证书授权机构

Anthos Service Mesh Anthos Service Mesh
无服务器 Cloud Run for Anthos Cloud Run for Anthos
保护软件供应链 Binary Authorization Binary Authorization(预览版)
日志记录和监控 适用于系统组件的 Cloud Logging 和 Cloud Monitoring 适用于系统组件的 Cloud Logging 和 Cloud Monitoring
市场 Cloud Marketplace 中的 Kubernetes 应用 Cloud Marketplace 中的 Kubernetes 应用

计算环境

Anthos 的主要计算环境使用 Anthos 集群,该集群扩展了适用于 Google Cloud、本地或多云端环境的 GKE,以便在您打算部署应用的环境中管理 Kubernetes 安装。这些产品捆绑了上游 Kubernetes 版本,并提供用于创建、扩缩和升级一致的 Kubernetes 集群的管理功能。安装并运行 Kubernetes 后,您可以访问管理应用部署、配置、升级和扩缩的常规编排层。

Kubernetes 包含两个主要部分:控制层面节点组件。下面介绍了环境如何托管 GKE 的控制层面和节点组件。

  • Anthos on Google Cloud
    使用 Anthos on Google Cloud 时,Google Cloud 托管控制层面,Kubernetes API 服务器是唯一可供客户访问的控制层面。GKE 使用 Compute Engine 中的实例管理客户项目中的节点组件。

  • Anthos On-Prem
    使用 Anthos clusters on VMware 时,所有组件都托管在客户的本地虚拟化环境中。

  • Anthos on AWS
    使用 nthos clusters on AWS 时,所有组件都托管在客户的 AWS 环境中。

使用 Anthos 关联集群时,Kubernetes 分发是通过其他云服务商提供的。在此部署选项中,Anthos 不管理 Kubernetes 控制层面或节点组件,只有这些集群上运行的 Anthos 服务。

多集群管理

Anthos 集群使用 Connect 注册为 Google Cloud Environ 的一部分,使您可以在 Anthos 信息中心内统一查看和管理多个集群。如需详细了解 Environ 及其支持的功能,请参阅我们的 Environ 指南,如需了解信息中心,请参阅下面的统一的界面部分。

网络环境

本部分介绍 Anthos 中的 Kubernetes 集群如何与您的环境的网络进行交互。

负载平衡器

负载平衡器可让您跨不同 pod 和环境将请求划分到工作负载。利用 Kubernetes,用户可以预配第 4 层第 7 层负载平衡器。以下负载平衡选项可用于 GKE,具体取决于您所选的环境。

跨环境连接

您可以通过多种方式连接本地、多云端、连接集群和 Google Cloud 环境。最简单的方法是使用 Cloud VPN 在环境之间实现站点到站点 VPN。如果您有更严格的延迟时间和吞吐量要求,则可以选择专用互连合作伙伴互连。如需详细了解如何选择互连类型,请参阅如何选择网络连接产品

连接到 Google 服务

Google Cloud 之外的 Anthos 环境必须能够访问以下服务的 Google API 端点。

环境 Anthos clusters on VMware AWS 上的 Anthos 集群 关联集群
Connect Connect Connect
Cloud Monitoring
Cloud Logging

微服务架构支持

在 Kubernetes 中,服务由多个 Pod 构成,用于执行容器。在微服务架构中,单个应用可以包含许多服务,并且每个服务可以同时部署多个版本。

对于单体式应用,您无需担心与网络相关的问题,因为通信是通过单体式应用中彼此隔离的函数调用进行的。在微服务架构中,服务到服务的通信通过网络进行。

由于网络可能不可靠且不安全,因此服务必须能够识别和处理各种网络特性。例如,如果服务 A 调用服务 B,而网络发生中断,那么服务 A 在没有得到响应时该怎么做?它应该重试调用吗?如果可以,那么多长时间重试一次?或者服务 A 如何才能知道调用是服务 B 返回的?

要解决这些问题,您可以在 GKE 集群或所选环境中的连接集群上安装 Anthos Service Mesh。Anthos Service Mesh 基于 Istio,后者是服务网格基础架构层的一种开源实现。Anthos Service Mesh 使用 Sidecar 代理来增强网络安全性、可靠性和可见性。借助 Anthos Service Mesh,这些功能可以从应用的主容器中抽象出来,并在作为同一 Pod 中单独的容器提供的常见进程外代理中实现。

Anthos Service Mesh 功能包括:

  • 借助针对 HTTP(S)、gRPC 和 TCP 流量的丰富路由规则,对流量进行精细控制。

  • 自动指标、日志和跟踪记录,适用于集群中的所有 HTTP 流量(包括集群入站流量和出站流量)。

  • 基于服务帐号进行的身份验证和授权,可保障服务到服务的通信安全。

  • 辅助 A/B 测试和 Canary 发布等任务。

代管式服务网格

对于在 Anthos on Google Cloud 上运行的工作负载,Anthos Service Mesh 会管理您的服务网格环境,为您提供众多功能以及 Istio 的所有功能:

  • 网格 GKE 集群中的所有流量服务指标和日志会自动提取到 Google Cloud。

  • 自动生成的信息中心可在 Anthos Service Mesh 信息中心显示深度遥测信息,让您可以深入了解指标和日志,按各种特性过滤和划分数据。

  • 服务到服务关系快览:了解连接到每项服务的用户,以及每项服务所依赖的服务。

  • 保护服务间流量:Anthos Service Mesh 证书授权机构 (Mesh CA) 自动生成并轮替证书,您可以通过 Istio 政策轻松启用双向 TLS 身份验证 (mTLS)。

  • 不仅可以快速了解您的服务的通信安全状况,还可以了解该服务与其他服务的关系。

  • 使用 Cloud Monitoring 深入了解您的服务指标,并将其与其他指标结合使用。

  • 借助服务等级目标 (SLO) 清晰而轻松地了解服务的运行状况,SLO 使您可以轻松定义您自己的服务运行状况标准并发出提醒。

集中配置管理

显示 Anthos Config Management 架构的图
Anthos Config Management 架构(点击放大)

跨多个环境会增加资源管理和一致性方面的复杂性。Anthos 提供统一的声明式模型来实现跨云端和数据中心的计算、网络和服务管理。

配置即数据是管理这种复杂性的一种常用方法,您可以将混合环境的所需状态存储在版本控制下,然后直接应用并获得可重复的结果。Anthos 通过与本地或云端 Anthos 集群集成的 Anthos Config Management 来实现这一功能。它使您能够部署和监控存储在中央 Git 代码库中的配置更改。

此方法利用核心的 Kubernetes 概念(如命名空间标签注释)来确定将配置更改应用于所有 Kubernetes 集群(无论它们位于何处)的方式和位置。代码库为您的所有 Kubernetes 配置提供已版本控制、安全和受控的唯一可靠来源。 可使用 kubectl 命令应用的任何 YAML 或 JSON 均可通过 Anthos Config Management 进行管理,并且可应用于任何 Kubernetes 集群。

Anthos Config Management 还包含 Policy Controller,它对向 Kubernetes 发出的每个 API 请求实施自定义业务逻辑,并且您可以使用相同的逻辑来扫描和审核集群。可以使用与 Anthos Config Management 一起部署的内置规则集轻松地表达常见的安全性和合规性规则,或者您可以基于开源 Open Policy Agent 项目,使用可扩展的策略语言编写自己的规则。

对于 Anthos 环境,Anthos Config Management 具有以下优势:

  • 数据、控制和管理的唯一来源

    • 支持使用代码审核、验证和回滚工作流。

    • 可避免 Kubernetes 集群由于手动更改导致无法同步的阴影操作。

    • 支持使用 CI/CD 流水线进行自动化测试和发布。

  • 跨所有集群的一步式部署

    • Anthos Config Management 将一个 Git 提交转换为跨所有集群的多个 kubectl 命令。

    • 只需还原 Git 中的更改即可回滚。然后,系统将大规模自动部署还原。

  • 丰富的继承模型可用于应用更改

    • 使用命名空间,您可以为所有集群、部分集群、部分命名空间或自定义资源创建配置。

    • 通过使用命名空间继承,您可以创建可实现跨代码库文件夹结构的配置继承的分层命名空间模型。

  • 使用 Policy Controller 实施高级政策和审核

    • 使用包含的政策保护措施在整个环境中强制实施安全最佳做法。
    • 持续审核环境,发现违反业务政策的配置。
    • 使用表达能力强的自定义政策语言对您的独特业务逻辑进行编码,从而定义和部署您自己的自定义规则。

无服务器

对于在 Anthos 平台上创建现代应用,Cloud Run for Anthos 提供以开发者为中心的体验。有了 Cloud Run,您无需再费心于底层平台的复杂性,从而可以更轻松快速地创造您自己的客户价值。

Cloud Run 针对定义和部署服务提供简洁的开发者抽象,使开发者无需将重心放在平台或编写大量 YAML,从而帮助开发者提升工作效率。Cloud Run 管理服务在云环境或本地环境中的运行方式,同时优化资源利用率、横向扩缩以及与网络和 Anthos Service Mesh 的集成。Cloud Run 甚至可以实现以零个实例为起点和目标的应用按需扩缩。

Cloud Run 由 Knative 开源项目提供支持,并集中了 Google 在运行无服务器平台方面的多年经验,使其可以用于您的 Anthos 环境。有了 Cloud Run,您的团队将变得更高效并且可以专注于满足客户需求,而无需费心于构建平台或受限于特定的云或供应商。

Cloud Run for Anthos 适用于 Anthos on Google Cloud 和 Anthos 本地部署选项,目前也适用于多云端集群和附加的集群。

保护软件供应链

“我如何信任在我的生产基础架构上运行的内容?”是企业安全和 DevOps 人员最关注的问题之一。Binary Authorization 旨在帮助回答这一问题。它是一项集成到 Anthos 集群中的容器安全功能,提供政策执行阻塞点以确保环境中仅部署已签名和已获授权的映像。

此功能在容器化微服务的时代尤为有用,因为公司通常在生产环境中运行数百到数千个作业,其中许多作业需要访问敏感和宝贵的数据。基于身份的部署控制(限制谁可以部署)依赖于人类的运营知识和信任,无法进行扩展以满足具有自动构建和发布基础架构的企业的需求,在这些企业中,每天可能会进行数百次涉及数十个团队的部署。

Binary Authorization 可与所选的 CI/CD 阶段集成,并在映像传递过程中生成签名(或称“证明”),从而将组织的部署要求规范化和标准化。Binary Authorization 充当准许控制器,防止不符合这些标准的映像被部署。除了基于签名的验证之外,Binary Authorization 政策还支持使用名称模式将映像列入许可名单。您可以指定允许部署的代码库、路径或一组特定的映像。

Binary Authorization 目前适用于 Anthos on Google Cloud 和 Anthos On-Prem 预览版。

整合的日志记录和监控功能

访问应用和基础架构组件日志对于运行和维护生产基础架构至关重要。Cloud Logging 提供了一个存储和分析日志的统一位置。集群的内部组件生成的日志会自动发送到 Cloud Logging。

对于 Anthos on Google Cloud,系统会自动使用相关标签(例如 pod 标签、pod 名称和生成日志的集群名称)对集群内运行的工作负载的日志加以丰富。添加标签后,您可以通过高级查询更轻松地探索日志。

此外,对于 Anthos on Google Cloud,您可以使用 Cloud Audit Logs 捕获和分析应用及真人用户与控制组件的交互。

运行 Kubernetes 环境的另一个关键元素是存储提供系统的行为和运行状况信息的指标的能力。Kubernetes Engine Monitoring 提供自动和惯用的集成来存储应用的关键指标,以用于调试、提醒和事件后分析。对于 Anthos on Google Cloud,Kubernetes Engine Monitoring 默认处于启用状态。

Anthos 包括适用于系统组件的 Cloud Logging 和 Cloud Monitoring。

统一的界面

Google Cloud Console 中的 Anthos 信息中心提供了一个安全的统一界面,可用于查看和管理应用,包括所有 Anthos 资源的开箱即用的结构化视图。信息中心着陆页提供所有服务和集群的运行时状态摘要,并为新用户提供快速入门体验。

Anthos 信息中心的屏幕截图

集群管理

随着组织中 Kubernetes 集群数量的增加,您可能很难了解每个环境中的运行情况。Anthos 集群管理视图提供了一个安全的控制台,可用于查看所有已注册集群的状态,以及为项目创建新集群。如需将集群添加到此视图,请通过 Connect 将集群注册到 Google Cloud 项目 Environ。本地和 AWS 上的 GKE 集群会自动注册。Environ 环境提供一种统一方法来查看和管理集群及其工作负载(作为 Anthos 的一部分),包括 Google Cloud 之外的集群。

Service Mesh 信息中心

对于在 GKE on Google Cloud 中运行的工作负载,Anthos Service Mesh 提供服务的运行状况和性能的可观测性。Anthos Service Mesh 使用适配器收集并汇总每个服务请求和响应的相关数据,这意味着服务开发者无需对其代码进行插桩以收集遥测数据或手动设置信息中心和图表。对于集群中的所有流量,Anthos Service Mesh 会自动将指标和日志上传到 Cloud Monitoring 和 Cloud Logging。这些详细的遥测数据让运营商可观察服务行为,以及维护和优化其应用并进行问题排查。

Service Mesh 信息中心的屏幕截图

在 Service Mesh 信息中心内,您可以:

  • 简要了解网格中的所有服务,从而通过四种监控黄金信号中的三个提供重要的服务等级指标:延迟时间、流量和错误。

  • 根据服务等级目标 (SLO) 定义、查看和设置提醒,服务等级目标将汇总您服务的用户可见性能。

  • 查看各个服务的指标图表,并通过过滤和细分(包括响应代码、协议、目标 Pod、流量来源等)进行深入分析。

  • 详细了解每项服务的端点,并且查看流量在各服务之间的流动情况,以及每个通信边缘的性能。

  • 探索显示网格服务及其关系的服务拓扑图可视化。

配置管理

在 Anthos 信息中心的配置管理视图中,您可以一目了然地查看启用了 Anthos Config Management 的所有集群的配置状态的概览,还可以快速向尚未设置的集群添加该功能。您可以轻松跟踪配置更改,并查看哪个分支和提交标记已应用于每个集群。借助灵活的过滤器,您可以轻松按集群、分支或标记查看配置发布状态。

在此视图中,您还可以在任意 Anthos 集群上更新或安装 Anthos Config Management。

Anthos 功能

通过 Anthos 信息中心的功能视图,您可以查看已注册集群的状态并管理 Anthos 功能。目前,您可以直接从此视图在已注册集群上安装多集群 Ingress。要启用其他功能,请参阅其相应的文档

第三方应用市场

Kubernetes 生态系统在不断扩充和创建大量功能,您可以在现有集群上启用这些功能。为了轻松地安装和管理第三方应用,您可以使用 Google Cloud Marketplace,无论您的 Anthos 集群在何处运行,它都可以进行部署。您还可以搜索和过滤 Anthos 应用,并轻松查找与 Anthos 兼容的解决方案(带有 Anthos 徽章)。Cloud Marketplace 解决方案可直接与您现有的 Google Cloud 账单集成,并由软件供应商直接支持。

市场解决方案目录中,您会看到:

  • 存储解决方案
  • 数据库
  • 持续集成和交付工具
  • 监控解决方案
  • 安全与合规性工具

优势

Anthos 是一个包含不同服务的平台,这些服务协同工作,在整个企业中创造价值。本部分介绍组织中的各种角色可以如何使用它,以及每个组将会得到的好处。

Anthos 在开发方面的优势

对于开发者,Anthos 提供基于 Kubernetes 的领先的容器管理平台。开发者可以使用此平台快速轻松地构建和部署现有的容器化应用和基于微服务的架构。

主要优势包括以下各项:

  • 管理和 CI/CD 工作流符合 Git 标准,可使用 Anthos Config Management 进行配置及编码。

  • 使用 Anthos Service Mesh 和 Cloud Monitoring 和 Cloud Logging 以无代码方式检测代码,提供统一的可观测性。

  • 使用 mTLS 和节流实现无代码服务保护

  • 支持 Google Cloud Marketplace,可以快速轻松地将现成的产品放入集群中。

Anthos for Migration

对于迁移,Anthos 提供 Migrate for Anthos,它可让您使用 Kubernetes in Anthos 编排迁移。

了解使用 Migrate for Anthos 迁移到容器的好处

Anthos 在运营方面的优势

在运营方面,Anthos 提供集中、高效和模板化的集群部署和管理体验,使运营团队能够快速提供并管理符合企业标准的基础架构。

主要优势包括以下各项:

  • 集中的配置管理,符合配置即代码和 Anthos Config Management 要求。

  • 使用 Git 签入功能和 Anthos Config Management 简化了部署和回滚操作。

  • 在单个管理平台上即可跨集群查看从基础架构到应用性能和拓扑的所有内容。

Anthos 在安全性方面的优势

在安全性方面,Anthos 能够利用配置即代码方法和集中管理对集群、已部署的应用和配置管理工作流实施安全标准。

主要优势包括以下各项:

  • 将符合 Git 标准的配置代码库与 Anthos Config Management 结合使用,实现了可审核的集中式安全工作流。

  • 使用命名空间实现集群配置的合规性,借助 Anthos Config Management 实现配置的继承。

  • 使用 Anthos Service Mesh 实现无代码微服务保护,提供集群内 mTLS 和证书管理。对于 Google Cloud 上在 Google Kubernetes Engine 中运行的工作负载,证书由 MeshCA 提供。

  • 使用 Anthos Service Mesh 授权和路由的内置服务保护。

后续步骤

试用 Anthos

了解详情

设置 Anthos

  • 访问我们的设置指南,了解如何设置 Anthos。