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 最终都可能由不同的节点提供。