Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

29.2. 配置 IP 故障切换

使用带有 适当选项oc adm ipfailover 命令,创建 ipfailover 部署配置。

重要

目前,ipfailover 与云基础架构不兼容。对于 AWS,可使用 AWS 控制台使用 Elastic Load Balancer(ELB)使 OpenShift Container Platform 具有高可用性。

作为管理员,您可以在整个集群中或节点子集中配置 ipfailover,如标签选择器定义。您还可以在集群中配置多个 IP 故障转移部署配置,每个配置都独立于其他配置。oc adm ipfailover - 命令会创建一个 ipfailover 部署配置,以确保故障转移 pod 在与约束或使用的标签匹配的每个节点上运行。此 pod 在所有 Keepalived 守护进程中使用 VRRP(虚拟路由器冗余协议)运行 Keepalived,以确保监视端口上的服务可用,如果不可用,Keepalived 会自动浮点虚拟 IP(VIP)。

对于生产环境,请确保使用至少两个节点的 --selector=<label > 来选择节点。另外,设置 --replicas=<n> 值,该值与给定标签选择器的节点数量匹配。

oc adm ipfailover 命令包含命令行选项,用于设置控制 Keepalived 的环境变量。环境变量OPENSHIFT_HA_* 开始,它们可以根据需要进行更改。

例如,下面的命令将在选择标记为 router=us-west-ha 的节点(在 4 个带有 7 个虚拟 IP 监控服务侦听端口 80 的节点上)创建 IP 故障转移配置。

$ oc adm ipfailover --selector="router=us-west-ha" \
    --virtual-ips="1.2.3.4,10.1.1.100-104,5.6.7.8" \
    --watch-port=80 --replicas=4 --create

29.2.1. 虚拟 IP 地址

keepalived 管理一组虚拟 IP 地址(VIP)。管理员必须确保所有这些地址:

  • 可在集群外部配置的主机上访问。
  • 不可用于集群中的任何其他目的。

每个节点上的 keepalived 确定所需服务是否在运行。如果是,则支持 VIP,Keepalived 参与协商来确定哪个节点将提供 VIP。对于要参与的节点,服务必须侦听 VIP 上的观察端口,或者必须禁用检查。

注意

集合中的每个 VIP 最终都可能由不同的节点提供。