11.12. 풀의 시작 경로를 기반으로 요청 리디렉션
RHOSP(Red Hat OpenStack Platform) 로드 밸런싱 서비스(octavia)를 사용하여 HTTP 요청을 대체 서버 풀로 리디렉션할 수 있습니다. 요청의 URL에서 하나 이상의 시작 경로와 일치하도록 계층 7(L7) 정책을 정의할 수 있습니다.
이 예에서는 /js 또는 /images 로 시작하는 URL이 포함된 모든 요청은 정적 콘텐츠 서버의 대체 풀로 리디렉션됩니다.
사전 요구 사항
-
리스너(
listener1)와 풀(pool1)이 있는 HTTP 로드 밸런서(lb1)입니다. 자세한 내용은 상태 모니터를 사용하여 HTTP 로드 밸런서 생성을 참조하십시오.
절차
자격 증명 파일을 가져옵니다.
- 예제
$ source ~/overcloudrc
로드 밸런서(
lb1)에 두 번째 풀(static_pool)을 만듭니다.참고controlPlane 내부의 값은 이 절차의 예제 명령에 사용되는 샘플 값입니다. 이러한 샘플 값을 사이트에 적합한 값으로 바꿉니다.
- 예제
$ openstack loadbalancer pool create --name static_pool \ --lb-algorithm ROUND_ROBIN --loadbalancer lb1 --protocol HTTP --wait
프라이빗 서브넷(
private_subnet)의 로드 밸런서 멤버(를 풀(192.0.2.10및 192.0.2.11)static_pool)에 추가합니다.- 예제
이 예에서 백엔드 서버
192.0.2.10및192.0.2.11은 각각member1및member2로 이름이 지정됩니다.$ openstack loadbalancer member create --name member1 --subnet-id \ private_subnet --address 192.0.2.10 --protocol-port 80 static_pool --wait $ openstack loadbalancer member create --name member2 --subnet-id \ private_subnet --address 192.0.2.11 --protocol-port 80 static_pool --wait
리스너( listener1)에 L7 정책(
policy1)을 생성합니다.정책에는 작업(REDIRECT_TO_POOL)이 포함되어야 하며 풀(static_pool)을 가리켜야 합니다.- 예제
$ openstack loadbalancer l7policy create --name policy1 \ --action REDIRECT_TO_POOL --redirect-pool static_pool listener1 --wait
정책의 요청 경로 시작 시
/js를 찾는 L7 규칙을 추가합니다.- 예제
$ openstack loadbalancer l7rule create --compare-type STARTS_WITH \ --type PATH --value /js policy1 --wait
작업(
REDIRECT_TO_POOL)을 사용하여 L7 정책(policy2)을 생성하고 풀을 가리키는 리스너(listener1)를 추가합니다.- 예제
$ openstack loadbalancer l7policy create --name policy2 \ --action REDIRECT_TO_POOL --redirect-pool static_pool listener1 --wait
정책의 요청 경로 시작 부분에
/images를 찾는 L7 규칙을 추가합니다.- 예제
$ openstack loadbalancer l7rule create --compare-type STARTS_WITH \ --type PATH --value /images policy2 --wait
검증
-
openstack loadbalancer l7policy list명령을 실행하고 정책,policy1및policy2가 있는지 확인합니다. openstack loadbalancer l7rule list <l7policy> 명령을 실행하고 각 정책에 대해compare_typeofSTARTS_WITH이 있는 규칙이 있는지 확인합니다.- 예제
$ openstack loadbalancer l7rule list policy1 $ openstack loadbalancer l7rule list policy2