29.2. IP Failover 구성
적절한 옵션과 함께 oc adm ipfailover
명령을 사용하여 ipfailover 배포 구성을 생성합니다.
현재 ipfailover는 클라우드 인프라와 호환되지 않습니다. AWS의 경우 AWS 콘솔을 사용하여 OpenShift Container Platform을 고가용성으로 만드는 데 Elastic Load Balancer(ELB)를 사용할 수 있습니다.
관리자는 레이블 선택기에 정의된 대로 전체 클러스터 또는 노드의 하위 집합에서 ipfailover를 구성할 수 있습니다. 클러스터에서 여러 IP 페일오버 배포 구성을 설정할 수도 있습니다. 이 배포 구성은 서로 독립적입니다. oc adm ipfailover
명령은 ipfailover 배포 구성을 생성하여 제약 조건 또는 사용된 레이블과 일치하는 각 노드에서 장애 조치 Pod가 실행되도록 합니다. 이 Pod 는 Keepalived 를 실행하여 모든 Keepalived 데몬에서 VRRP(Virtual Router Redundancy Protocol)를 사용하여 감시된 포트의 서비스를 사용할 수 있는지 확인하고 그렇지 않은 경우 Keepalived 가 가상 IP(VIP)를 자동으로 적용합니다.
프로덕션의 경우 노드를 선택하려면 두 개 이상의 노드가 있는 --selector=<label>
을 사용하십시오. 또한 지정된 선택기의 노드 수와 일치하는 --replicas=<n>
값을 설정합니다.
oc adm ipfailover
명령에는 Keepalived 를 제어하는 환경 변수를 설정하는 명령줄 옵션이 포함되어 있습니다. 환경 변수는 OPENSHIFT_HA_*
로 시작하며 필요에 따라 변경할 수 있습니다.
예를 들어 아래 명령은 router =us-west-ha라는 레이블이 지정된 노드(예: 라우터
프로세스 등 포트 80에서 수신 대기하는 서비스를 모니터링하는 7개의 가상 IP가 있는 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는 다른 노드에서 제공할 수 있습니다.