1.18.13. 为故障转移配置一个联邦网格
故障转移功能可以实现自动、无缝地切换到可靠的备份系统,例如切换到另一台服务器。如果是联邦网格,您可以在一个网格中配置服务,以便在另一个网格中切换到服务。
您可以通过在 ImportedServiceSet
资源中设置 importAsLocal
和 locality
设置来配置故障转移的联邦,然后配置 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
Name | 描述 | 类型 |
---|---|---|
区域: | 导入的服务所在的区域。 | 字符串 |
子区: | 导入服务的子区(zone)位于其中。I Subzone 被指定,还必须指定 Zone。 | 字符串 |
zone: | 导入的服务所在的区。如果指定了 Zone,还必须指定 Region。 | 字符串 |
流程
以具有
cluster-admin
角色的用户身份登录 OpenShift Container Platform CLI,请输入以下命令:$ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443
进入到安装 Service Mesh control plane 的项目,请输入以下命令:
$ oc project <smcp-system>
例如:
green-mesh-system
。$ oc project green-mesh-system
编辑
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
修改该文件:
-
将
spec.importRules.importAsLocal
设置为true
。 -
将
spec.locality
设置为region
,zone
, 或subzone
。 - 保存您的更改。
-
将