1.18.13.2. 为故障转移配置 DestinationRule
创建配置以下内容的 DestinationRule
资源:
- 服务的 Outlier 检测。需要此项才能使故障转移正常工作。特别是,它会配置 sidecar 代理,以获知服务端点处于不健康状态,并最终触发对下一个位置的故障转移。
- 各地区之间的故障转移策略。这样可确保除区域边界外的故障切换将具有可预见的。
流程
以具有
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
根据以下示例创建一个
DestinationRule
文件,如果 green-mesh 不可用,则流量应从us-east
区域中的 green-mesh 路由到us-west
中的 red-mesh。DestinationRule
示例apiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata: name: default-failover namespace: bookinfo spec: host: "ratings.bookinfo.svc.cluster.local" trafficPolicy: loadBalancer: localityLbSetting: enabled: true failover: - from: us-east to: us-west outlierDetection: consecutive5xxErrors: 3 interval: 10s baseEjectionTime: 1m
部署
DestinationRule
,其中<DestinationRule>
包含到您的文件的完整路径,请输入以下命令:$ oc create -n <application namespace> -f <DestinationRule.yaml>
例如:
$ oc create -n bookinfo -f green-mesh-us-west-DestinationRule.yaml