8장. 엣지에서 네트워크 트래픽 로드 밸런싱
엣지 사이트에서 로드 밸런서를 생성하여 트래픽 처리량을 늘리고 RHOSP(Red Hat OpenStack Platform) 로드 밸런싱 서비스(octavia)를 사용하여 대기 시간을 줄일 수 있습니다.
이 섹션에 포함된 항목은 다음과 같습니다.
8.1. 서비스 가용성 영역 로드 밸런싱을 위한 네트워크 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
RHOSP(Red Hat OpenStack Platform) 로드 밸런싱 서비스(octavia) 가용성 영역(AZ)을 생성하려면 RHOSP 관리자여야 합니다. octavia-dcn-deployment.yaml.
octavia-dcn-deployment.yaml 을 실행하면 로드 밸런싱 서비스 AZ에 필요한 네트워크, 서브넷 및 라우터와 같은 네트워킹 리소스를 생성합니다. 각 AZ 이름 및 관리 네트워크를 지정한 구성 입력 파일 octavia-dcn-parameters.yaml 에 플레이북을 제공합니다.
플레이북을 실행하고 필요한 네트워킹 리소스를 생성한 후 프로젝트(테넌트) 사용자가 DCN(Distributed Compute node) 로케일에 적합한 로드 밸런서를 생성하기 전에 실제 RHOSP 로드 밸런싱 서비스 AZ를 생성해야 합니다.
이 절차에서는 이름이 az-central,az-dcn1, az-dcn2 라는 3개의 로드 밸런싱 서비스 AZ에 필요한 네트워크 리소스를 생성하는 방법을 보여줍니다. 이러한 로드 밸런싱 서비스 AZ 이름은 Compute 서비스 AZ의 이름과 일치하며 이 배포에 사용되는 3개의 DCN의 이름이기도 합니다.
사전 요구 사항
- 생성하려는 모든 로드 밸런싱 서비스 AZ에 대해 하나의 Compute 서비스(nova) AZ가 있어야 합니다.
- 생성하려는 모든 로드 밸런싱 서비스 AZ에 대해 하나의 Networking 서비스(neutron) AZ가 있어야 합니다. 이러한 네트워킹 서비스 AZ는 Compute 서비스 AZ의 이름과 일치해야 합니다.
- 로드 밸런싱 서비스 공급자 드라이버는 amphora여야 합니다. OVN 공급자 드라이버는 AZ를 지원하지 않습니다.
-
admin역할이 있는 RHOSP 사용자여야 합니다.
프로세스
자격 증명 파일을 가져옵니다.
예제
$ source ~/centralrcoctavia-dcn-parameters.yaml파일을 생성하고 아래 표시된 구문을 사용하여 로드 밸런싱 서비스 AZ 및 해당 관리 네트워크를 추가하여 Ansible 플레이북에서 필요한 네트워킹 리소스를 생성할 수 있습니다.octavia_controller_AZ_name값은 모든 로드 밸런서 서비스가 실행되는 AZ의 이름입니다.octavia_controller_availability_zone: <octavia_controller_AZ_name> octavia_availability_zones: <octavia_controller_AZ_name>: # no cidr needed, it uses the already existing subnet <octavia_AZ_n>: lb_mgmt_subnet_cidr: <CIDR_address_n> <octavia_AZ_n2>: lb_mgmt_subnet_cidr: <CIDR_address_n2>중요지정한 로드 밸런싱 서비스 AZ의 이름은 기존 Compute 서비스 AZ의 이름과 일치해야 합니다.
openstack availability zone list --compute를 실행하여 Compute 서비스 AZ의 이름을 가져올 수 있습니다.Ansible Playbook은 각 AZ에 대한 네트워크, 서브넷 및 라우터를 생성하고 이 규칙에 따라
octavia-dcn-parameters.yaml에 지정하는 AZ 이름을 사용하여 이름을 지정합니다.lb-mgmt-<AZ_name>-net ,,lb-mgmt-<AZ_name>-subnetlb-mgmt-<AZ_name>-router예외는octavia_controller_AZ_name: 플레이북에서 기존 부하 분산 관리 네트워크 및 서브넷,lb-mgmt-net및lb-mgmt-subnet.NET을 각각 사용하여 이름을 지정하는 관련라우터를 생성합니다.이 예에서는
az-central,az-dcn1및az-dcn2.az-centralAZ는 기존 부하 분산 관리 네트워크인lb-mgmt-net을 사용합니다. 다른 두 AZ는 각각172.47.0.0/16및172.48.0.0/16을 사용합니다.예제
octavia_controller_availability_zone: az-central octavia_availability_zones: az-central: # no cidr needed; it uses the existing subnet az-dcn1: lb_mgmt_subnet_cidr: 172.47.0.0/16 az-dcn2: lb_mgmt_subnet_cidr: 172.48.0.0/16Ansible 플레이북
octavia-dcn-deployment.yaml을 실행하고octavia-dcn-parameters.yaml에서 생성한 AZ 정의를 포함합니다.예제
$ ansible-playbook -i overcloud-deploy/central/config-download/\ central/tripleo-ansible-inventory.yaml \ /usr/share/ansible/tripleo-playbooks/octavia-dcn-deployment.yaml \ -e @octavia-dcn-parameters.yaml -e stack=central -v
검증
필요한
lb-mgmt-*서브넷이 있는지 확인합니다.$ openstack subnet list -c Name -c Subnet샘플 출력
+-------------------------+------------------+ | Name | Subnet | +-------------------------+------------------+ | lb-mgmt-az-dcn2-subnet | 172.48.0.0/16 | | segment5 | 10.0.20.0/24 | | segment3 | 10.101.30.0/24 | | segment2 | 10.101.20.0/24 | | lb-mgmt-az-dcn1-subnet | 172.47.0.0/16 | | heat_tempestconf_subnet | 192.168.199.0/24 | | segment4 | 10.0.10.0/24 | | lb-mgmt-subnet | 172.24.0.0/16 | | segment1 | 10.101.10.0/24 | | lb-mgmt-backbone-subnet | 172.49.0.0/16 | | segment6 | 10.0.30.0/24 | +-------------------------+------------------+필요한 가상 라우터가 있는지 확인합니다.
$ openstack router list -c Name -c Status샘플 출력
+------------------------+--------+ | Name | Status | +------------------------+--------+ | lb-mgmt-az-dcn2-router | ACTIVE | | lb-mgmt-az-dcn1-router | ACTIVE | | lb-mgmt-router | ACTIVE | +------------------------+--------+
다음 단계