Menu Close
Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
29.2.8. 配置高可用性服务
以下示例描述了如何在一组节点上设置带有 IP 故障切换的高可用 路由器 和 geo-cache 网络服务。
标记将用于服务的节点。如果您在 OpenShift Container Platform 集群中的所有节点上运行服务,并且将使用集群中所有节点中可以浮动的 VIP,则此步骤可以是可选的步骤。
以下示例为美国 west geo ha-svc-nodes=geo-us-west 中的流量定义了一个标签:
$ oc label nodes openshift-node-{5,6,7,8,9} "ha-svc-nodes=geo-us-west"
创建服务帐户。您可以使用 ipfailover 或使用路由器(取决于您的环境策略),您可以重复使用之前创建的 路由器 服务帐户或新的 ipfailover 服务帐户。
以下示例在 default 命名空间中创建一个名为 ipfailover 的新服务帐户:
$ oc create serviceaccount ipfailover -n default
将 default 命名空间中的 ipfailover 服务帐户添加到 特权 SCC:
$ oc adm policy add-scc-to-user privileged system:serviceaccount:default:ipfailover
启动 路由器 和 geo-cache 服务。
重要由于 ipfailover 在第 1 步的所有节点上运行,因此建议也在所有步骤 1 节点上运行路由器/服务。
使用与第一步中使用的标签匹配的节点启动路由器。以下示例使用 ipfailover 服务帐户运行五个实例:
$ oc adm router ha-router-us-west --replicas=5 \ --selector="ha-svc-nodes=geo-us-west" \ --labels="ha-svc-nodes=geo-us-west" \ --service-account=ipfailover
使用每个节点上的副本运行 geo-cache 服务。请参阅运行 geo-cache 服务 的示例配置。
重要确保将 文件中引用的 myimages/geo-cache 容器镜像替换为您的预期镜像。将副本数量更改为 geo-cache 标签中的节点数量。检查该标签是否与第一步中使用的标签匹配。
$ oc create -n <namespace> -f ./examples/geo-cache.json
为 路由器 和 geo-cache 服务配置 ipfailover。各自具有自己的 VIP,在第一步中都使用标有 ha-svc-nodes=geo-us-west 的相同节点。在第一步中,确保副本数量与标签设置中列出的节点数量匹配。
重要路由器、geo-cache 和 ipfailover all create 部署配置,且它们都必须具有不同的名称。
指定 ipfailover 应该监控的 VIP 和端口号。
路由器 的 ipfailover 命令:
$ oc adm ipfailover ipf-ha-router-us-west \ --replicas=5 --watch-port=80 \ --selector="ha-svc-nodes=geo-us-west" \ --virtual-ips="10.245.2.101-105" \ --iptables-chain="INPUT" \ --service-account=ipfailover --create
以下是用于侦听端口 9736 的 geo-cache 服务的
oc adm ipfailover
命令。由于有两个ipfailover 部署配置
,因此必须设置 --vrrp-id-offset
,以便每个 VIP 获得自己的偏移。在本例中,设置值10
表示ipf-ha-router-us-west 最多可具有 10 个
VIPs(0-9),因为ipf-ha-geo-cache
从 10 开始。$ oc adm ipfailover ipf-ha-geo-cache \ --replicas=5 --watch-port=9736 \ --selector="ha-svc-nodes=geo-us-west" \ --virtual-ips=10.245.3.101-105 \ --vrrp-id-offset=10 \ --service-account=ipfailover --create
在上述命令中,每个节点上都有 ipfailover 、 router 和 geo-cache pod。每个 ipfailover 配置的 VIP 集合不得重叠,且不得在外部或云环境的其他位置使用。每个示例中的五个 VIP 地址(
10.245.{2,3}.101-105
)由两个 ipfailover 部署配置提供。IP 故障切换动态选择在哪个节点上提供哪些地址。管理员设置外部 DNS 以指向 VIP 地址,知道所有 路由器 VIP 指向同一 路由器,并且所有 geo-cache VIP 都指向相同的 geo-cache 服务。只要一个节点仍在运行,就可以提供所有 VIP 地址。
29.2.8.1. 部署 IP 故障 Pod
部署 ipfailover 路由器以监控 postgresql 侦听节点端口 32439 和外部 IP 地址,如 postgresql-ingress 服务中所定义: