1.18.13. 为故障转移配置一个联邦网格


故障转移功能可以实现自动、无缝地切换到可靠的备份系统,例如切换到另一台服务器。如果是联邦网格,您可以在一个网格中配置服务,以便在另一个网格中切换到服务。

您可以通过在 ImportedServiceSet 资源中设置 importAsLocallocality 设置来配置故障转移的联邦,然后配置 DestinationRule,将服务被配置为 ImportedServiceSet 中指定的本地性。

先决条件

  • 两个或多个 OpenShift Container Platform 4.6 或更高版本的集群已进行了联网和联邦。
  • 已为联邦网格中的每个网格中的网格对等点创建 ExportedServiceSet 资源。
  • 已为联邦网格中的每个网格中的网格对等点创建 ImportedServiceSet 资源。
  • 具有 cluster-admin 角色的帐户。

1.18.13.1. 为故障转移配置 ImportedServiceSet

管理员可以利用本地方式管理负载平衡,根据流量的来源和终止位置控制流量到端点的分布。这些本地设置使用任意标签指定,它以 {region}/{zone}/{sub-zone} 的形式指定了一个分层级结构的本地设置。

在本节示例中,green-mesh 位于 us-east 地区,而 red-mesh 位于 us-west 区域。

从 red-mesh 到 green-mesh 的ImportedServiceSet 资源示例

kind: ImportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
  name: red-mesh #name of mesh that exported the service
  namespace: green-mesh-system #mesh namespace that service is being imported into
spec:
  importRules: # first matching rule is used
  # import ratings.bookinfo as ratings.bookinfo
  - type: NameSelector
    importAsLocal: true
    nameSelector:
      namespace: bookinfo
      name: ratings
      alias:
        # service will be imported as ratings.bookinfo.svc.red-mesh-imports.local
        namespace: bookinfo
        name: ratings
  #Locality within which imported services should be associated.
  locality:
    region: us-west

表 1.13. ImportedServiceLocality 字段表
Name描述类型

区域:

导入的服务所在的区域。

字符串

子区:

导入服务的子区(zone)位于其中。I Subzone 被指定,还必须指定 Zone。

字符串

zone:

导入的服务所在的区。如果指定了 Zone,还必须指定 Region。

字符串

流程

  1. 以具有 cluster-admin 角色的用户身份登录 OpenShift Container Platform CLI,请输入以下命令:

    $ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443
  2. 进入到安装 Service Mesh control plane 的项目,请输入以下命令:

    $ oc project <smcp-system>

    例如: green-mesh-system

    $ oc project green-mesh-system
  3. 编辑 ImportedServiceSet 文件,其中 <ImportedServiceSet.yaml> 包含您要编辑的文件的完整路径,请输入以下命令:

    $ oc edit -n <smcp-system> -f <ImportedServiceSet.yaml>

    例如,如果要将从 red-mesh-system 导入到 green-mesh-system 的文件(如前面的 ImportedServiceSet 示例所示)。

    $ oc edit -n green-mesh-system -f import-from-red-mesh.yaml
  4. 修改该文件:

    1. spec.importRules.importAsLocal 设置为 true
    2. spec.locality 设置为 region, zone, 或 subzone
    3. 保存您的更改。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.