Menu Close

Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

29.2. 配置 IP 故障

使用 oc adm ipfailover 命令及适当的 选项 来创建 ipfailover 部署配置。

重要

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

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

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

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

例如,以下命令将在部分标记为 router=us-west-ha 的节点上创建 IP 故障切换配置(在具有 7 个虚拟 IP 监控侦听端口 80(如路由器进程)的 4 个节点上,创建 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 最终都可能由不同的节点提供。