29.2.4. keepalived 멀티 캐스트
OpenShift Container Platform의 IP 페일오버는 내부적으로 keepalived 를 사용합니다.
위의 레이블이 지정된 노드에서 멀티 캐스트 가 활성화되고 224.0.0.18 (VRRP 멀티캐스트 IP 주소)의 네트워크 트래픽을 허용할 수 있는지 확인합니다.
keepalived 데몬을 시작하기 전에 시작 스크립트는 멀티캐스트 트래픽 흐름이 가능한 iptables
규칙을 확인합니다. 이러한 규칙이 없는 경우 시작 스크립트에서 새 규칙을 생성하여 IP 테이블 구성에 추가합니다. 이 새 규칙이 IP 테이블 구성에 추가하는 위치는 --iptables-chain=
옵션에 따라 다릅니다. --iptables-chain=
옵션이 지정된 경우 옵션의 지정된 체인에 규칙이 추가됩니다. 그렇지 않으면 규칙이 INPUT
체인에 추가됩니다.
노드에서 하나 이상의 keepalived 데몬이 실행될 때마다 iptables
규칙이 존재해야 합니다.
iptables
규칙은 마지막 keepalived 데몬이 종료된 후에 제거할 수 있습니다. 규칙이 자동으로 제거되지 않습니다.
각 노드에서 iptables
규칙을 수동으로 관리할 수 있습니다. 이 명령은 존재하지 않는 경우에만 생성됩니다(-iptable-chain=""
옵션을 사용하여 ipfailover가 생성되지 않는 한).
시스템을 다시 시작한 후에도 수동으로 추가한 규칙이 지속되는지 확인해야 합니다.
keepalived 데몬이 멀티 캐스트 224.0.0.18을 통해 VRRP 프로토콜을 사용하여 피어와 협상하므로 주의하십시오. 각 VIP 에 다른 VRRP-id(범위 0..255)가 있어야 합니다.
$ for node in openshift-node-{5,6,7,8,9}; do ssh $node <<EOF export interface=${interface:-"eth0"} echo "Check multicast enabled ... "; ip addr show $interface | grep -i MULTICAST echo "Check multicast groups ... " ip maddr show $interface | grep 224.0.0 EOF done;