11.17. 호스트 이름 및 경로와 일치하는 풀에 요청 전송
RHOSP(Red Hat OpenStack Platform) 로드 밸런싱 서비스(octavia)를 사용하여 특정 기준과 일치하는 웹 클라이언트 요청을 대체 애플리케이션 서버 풀로 리디렉션할 수 있습니다. 비즈니스 로직 기준은 사전 정의된 호스트 이름 및 요청 경로와 일치하려는 계층 7(L7) 정책을 통해 수행됩니다.
이 예에서 호스트 이름 api.example.com 과 일치하는 웹 클라이언트 요청에는 요청 경로 시작 시 /api 가 대체 풀인 api_pool 로 리디렉션됩니다.
사전 요구 사항
-
리스너(리스너1)
및풀( pool1)이있는 HTTP 로드 밸런서(lb1).자세한 내용은 상태 모니터를 사용하여 HTTP 로드 밸런서 생성을 참조하십시오.
절차
자격 증명 파일을 가져옵니다.
예제
$ source ~/overcloudrc로드 밸런서(
lb1)에 두 번째 풀(api_pool)을 만듭니다.참고괄호 안의 값은 이 절차의 예제 명령에 사용되는 샘플 값입니다. 이러한 샘플 값을 사이트에 적합한 값으로 바꿉니다.
예제
$ openstack loadbalancer pool create --lb-algorithm ROUND_ROBIN --loadbalancer lb1 --name api_pool --protocol HTTP프라이빗 서브넷(
private_subnet)에 로드 밸런서 구성원(19)을 풀(2.0.2.10및 192.0.2.11static_pool)에 추가합니다.예제
$ openstack loadbalancer member create --subnet-id private_subnet --address 192.0.2.10 --protocol-port 80 static_pool $ openstack loadbalancer member create --subnet-id private_subnet --address 192.0.2.11 --protocol-port 80 static_pool리스너(리스너1)
에 L7 정책( policy1)을 만듭니다.정책에는 작업(REIRECT_TO_POOL)이 포함되어야 하며 풀(api_pool)을 가리켜야 합니다.예제
$ openstack loadbalancer l7policy create --action REDIRECT_TO_POOL --redirect-pool api_pool --name policy1 listener1호스트 이름
api.example.com과 일치하는 정책에 L7 규칙을 추가합니다.예제
$ openstack loadbalancer l7rule create --compare-type EQUAL_TO --type HOST_NAME --value api.example.com policy1두 번째 L7 규칙을 요청 경로 시작 시
/api와 일치하는 정책에 추가합니다.이 규칙은 첫 번째 규칙에 논리적으로 적용됩니다.
예제
$ openstack loadbalancer l7rule create --compare-type STARTS_WITH --type PATH --value /api policy1
검증
-
openstack loadbalancer l7policy list명령을 실행하고 정책,policy1이 있는지 확인합니다. openstack loadbalancer l7rule list <l7policy>명령을 실행하고 각각EQUAL_TO 및과 규칙이 있는지 확인합니다. 둘 다STARTS유형_WITH의 비교_policy1에 있습니다.예제
$ openstack loadbalancer l7rule list policy1 $ openstack loadbalancer l7rule list policy2