Environ 要求和最佳做法

本指南提供了在组织中实现 Environ 的最佳做法、实用注意事项和建议。

在阅读本指南之前,您应该先熟悉 Environ 简介中的概念。我们建议您先查看本指南,然后再查看示例

组件要求

基于您的组织想要使用的可感知 Environ 的 Anthos 和 Google Cloud 组件实现 Environ 时,您需要考虑一些限制。例如,某些组件可能尚不支持使用不属于 Environ 宿主项目的集群。

下表显示了每个组件的当前要求和限制。

组件
集群类型
项目要求
VPC 要求
Anthos Config Management 所有 Anthos 和 GKE 支持的集群
Config Sync GKE on Google Cloud 集群
Anthos Service Mesh
on Google Cloud

Google Cloud 上的 Anthos 集群

注意:目前仅支持单集群网格;多集群网格功能即将推出。

不适用
本地
Anthos Service Mesh

VMware 集群上的 Anthos 集群

注意:目前仅支持单集群网格;多集群网格功能即将推出。

集群必须注册到 Environ。 不适用
多集群 Ingress 在 Google Cloud 上运行的 Anthos 集群 Ingress 资源、GKE 集群和 Environ 必须共享同一项目。 Ingress 资源和 GKE 集群必须位于同一 VPC 网络中。
工作负载身份池 针对 Anthos、GKE on Google Cloud 和 VMware 上的 Anthos 集群进行了优化。使用 Anthos 时,其他 Kubernetes 集群受支持,但需要手动设置。

针对 Environ 整理项目和 VPC 网络

在针对 Environ 设计架构时,您需要考虑两项基本资源:Google Cloud 项目和 Virtual Private Cloud (VPC) 网络

正如 Environ 简介中所述,每个 Environ 都在单个项目中创建。但是(根据上表提到的限制),Environ 适用于来自 Environ 宿主项目、其他 Google Cloud 项目、其他云提供商或本地的 Environ 感知资源。

我们并未明确阻止,但我们建议将同一项目中的防火墙感知资源添加到同一 Environ 中;而不应在不同的 Environ 之间拆分。将同一项目中不同 Environ 中的资源拆分被视为反模式,因为项目边界可以更好地用于政策保护和治理。

在确定如何将 Environ 感知资源放入多个项目时,我们预计许多组织将具有不同的租户要求。请考虑以下两种极端情况:

  • 某些组织可能会选择将所有 Environ 资源放入几个集中控制的项目中,并为团队分配命名空间。
  • 其他组织可能会选择为团队提供其自有项目中的专用集群或虚拟机 (VM) 资源。

在第一种极端情况下,维持对资源的集中治理比较容易,但可能需要进行额外的工作才能实现所需的隔离。 在第二种极端情况下,这些利弊会颠倒过来。在一些复杂的情况下,您的组织可能同时拥有共享基础架构资源和专用资源,这些资源隔离到不同的项目中。无论最终情况如何,我们都在高度信任部分中讨论了对注册到 Environ 的资源保持相互信任至关重要,这可维护 Environ 的完整性。

与项目组织密切相关的是网络组织。如组件要求表中所述,多个 Environ 组件需要在 Environ 中的已注册资源之间建立特定连接。随着时间的推移,其中一些要求可能会放宽。然而,现如今,多集群 Ingress 要求 pod 必须位于同一 VPC 网络中,且集群本身也必须与 Environ 位于同一项目中。

如果组件可以放宽这些初始项目和 VPC 网络要求,我们预计,无论您何时需要多个项目,采用共享 VPC 模型都是最佳做法。在此类模型中,可以使用从各自服务项目中注册的资源在 VPC 网络的宿主项目中实例化 Environ。如果您需要将多个 Environ 与共享 VPC 结合使用,您可以指定项目作为 Environ 宿主项目。

添加/移除 Environ 资源(集群)

现有可感知 Environ 的资源可添加到 Environ 中,但必须格外小心,以确保服务不会因此添加操作而中断。特别是,在将资源添加到 Environ 之前,请务必确保考虑了相同性和信任属性。Environ 管理员应该特别注意活跃 Environ 组件如何使用相同性。这可能需要迁移到一致的命名做法、建立资源治理,或者在将资源添加到 Environ 之前执行其他操作。

从 Environ 中移除资源也需要额外注意。例如,当前作为服务网格的一部分或旨在用作多集群负载平衡器的一部分的资源将会受到影响。为了准备移除资源,我们建议您查看已在 Environ 中启用的每个组件,并采取必要的步骤排空活跃的服务网格流量或外部流量。

随着 Environos 不断发展,我们将在添加和移除 Environ 资源时提供更多的带内指南。

启用或重新配置 Environ 组件

启用或重新配置使用 Environ 的 Google Cloud 或 Anthos 组件也需要特别注意。启用新组件时,请注意在所有集群中启用该组件的潜在副作用。例如,在启用 Anthos Service Mesh 之前,请先了解哪些服务端点进行跨资源合并,并确保这是所需的结果。

随着我们不断地发展 Environ 概念,我们将提供关于配置支持 Environ 的组件的深入带内指导。

后续步骤

  • 如需了解用于说明本指南所述注意事项的一些假设场景,请参阅 Environ 示例