29.2.8. 고가용성 서비스 구성
다음 예제에서는 노드 집합에서 IP 페일오버를 사용하여 고가용성 라우터 및 geo-cache 네트워크 서비스를 설정하는 방법을 설명합니다.
서비스에 사용할 노드의 레이블을 지정합니다. 이 단계는 OpenShift Container Platform 클러스터의 모든 노드에서 서비스를 실행하고 클러스터의 모든 노드 내에 변동할 수 있는 VIP를 사용하는 경우 선택 사항일 수 있습니다.
다음 예제에서는 미국 서부 지역 ha-svc-nodes=geo-us-west 에서 트래픽을 서비스하는 노드의 레이블을 정의합니다.
$ oc label nodes openshift-node-{5,6,7,8,9} "ha-svc-nodes=geo-us-west"
서비스 계정을 만듭니다. ipfailover를 사용하거나(환경 정책에 따라) 라우터를 사용할 때 이전에 생성한 라우터 서비스 계정 또는 새 ipfailover 서비스 계정을 재사용할 수 있습니다.
다음 예제에서는 default 네임스페이스에서 ipfailover라는 이름으로 새 서비스 계정을 생성합니다.
$ oc create serviceaccount ipfailover -n default
default 네임스페이스에 ipfailover 서비스 계정을 권한 있는 SCC에 추가합니다.
$ oc adm policy add-scc-to-user privileged system:serviceaccount:default:ipfailover
라우터 및 geo-cache 서비스를 시작합니다.
중요ipfailover는 1단계의 모든 노드에서 실행되므로 모든 1단계 노드에서 라우터/서비스도 실행하는 것이 좋습니다.
첫 번째 단계에서 사용된 레이블과 일치하는 노드로 라우터를 시작합니다. 다음 예제에서는 ipfailover 서비스 계정을 사용하여 5개의 인스턴스를 실행합니다.
$ oc adm router ha-router-us-west --replicas=5 \ --selector="ha-svc-nodes=geo-us-west" \ --labels="ha-svc-nodes=geo-us-west" \ --service-account=ipfailover
각 노드에서 복제본을 사용하여 geo-cache 서비스를 실행합니다. geo-cache 서비스를 실행하기 위한 구성 예를 참조하십시오.
중요파일에서 참조하는 myimages/geo-cache 컨테이너 이미지를 원하는 이미지로 교체해야 합니다. 복제본 수를 geo-cache 레이블의 노드 수로 변경합니다. 레이블이 첫 번째 단계에서 사용된 항목과 일치하는지 확인합니다.
$ oc create -n <namespace> -f ./examples/geo-cache.json
라우터 및 geo-cache 서비스에 대해 ipfailover를 구성합니다. 각 VIP에는 자체 VIP가 있으며, 모두 첫 번째 단계에서 ha-svc-nodes=geo-us-west 로 레이블이 지정된 동일한 노드를 사용합니다. 첫 번째 단계에서 복제본의 수가 레이블 설정에 나열된 노드 수와 일치하는지 확인합니다.
중요라우터,geo-cache 및 ipfailover는 모두 배포 구성을 생성하고 모두 다른 이름이 있어야 합니다.
원하는 인스턴스에서 ipfailover가 모니터링해야 하는 VIP 및 포트 번호를 지정합니다.
라우터 의 ipfailover 명령 :
$ oc adm ipfailover ipf-ha-router-us-west \ --replicas=5 --watch-port=80 \ --selector="ha-svc-nodes=geo-us-west" \ --virtual-ips="10.245.2.101-105" \ --iptables-chain="INPUT" \ --service-account=ipfailover --create
다음은 포트 9736에서 수신 대기 중인 geo-cache 서비스에 대한
oc adm ipfailover
명령입니다. 두 개의ipfailover
배포 구성이 있으므로 각 VIP가 자체 오프셋을 가져오도록--vrrp-id-offset
을 설정해야 합니다. 이 경우 값을10
으로 설정하면ipf-ha-router-us-west가 10에서 시작되므로
있을 수 있습니다.ipf-
ha-router-us-west에 최대 10개의 VIP(0-9)가$ oc adm ipfailover ipf-ha-geo-cache \ --replicas=5 --watch-port=9736 \ --selector="ha-svc-nodes=geo-us-west" \ --virtual-ips=10.245.3.101-105 \ --vrrp-id-offset=10 \ --service-account=ipfailover --create
위의 명령에는 각 노드에 ipfailover,router 및 geo-cache Pod가 있습니다. 각 ipfailover 구성의 VIP 세트는 중복되지 않아야 하며 외부 또는 클라우드 환경의 다른 위치에서 사용해서는 안 됩니다. 예에서 5개의 VIP 주소
10.245.{2,3}.101-105
는 2개의 ipfailover 배포 구성에서 제공됩니다. IP 페일오버는 어떤 노드에서 제공되는 주소를 동적으로 선택합니다.관리자는 모든 라우터 VIP가 동일한 라우터 를 가리키고 모든 geo-cache VIP가 동일한 geo-cache 서비스를 가리키도록 VIP 주소를 가리키도록 외부 DNS를 설정합니다. 하나의 노드가 계속 실행 중인 경우 모든 VIP 주소가 제공됩니다.
29.2.8.1. IP Failover Pod 배포
postgresql -ingress 서비스에 정의된 대로 ipfailover 라우터를 배포하여 노드 포트 32439 및 외부 IP 주소에서 postgresql 수신 대기를 모니터링합니다.