Openstack

OpenStack Octavia란? (Load Balancer as a Service - LBaaS)

Somaz 2025. 4. 21. 12:17
728x90
반응형

Overview

오늘은 OpenStack Octavia에 대해 알아보겠다. OpenStack Octavia는 LBaaS (Load Balancer as a Service) 기능을 제공하여 OpenStack 환경에서 네트워크 트래픽을 효과적으로 분산할 수 있도록 돕는 서비스이다.

출처 : https://docs.openstack.org/octavia/latest/reference/introduction.html

 

 

 

📅 관련 글

2022.05.11 - [Openstack] - Openstack이란?

2022.07.29 - [Openstack] - Openstack Nova란?

2022.08.08 - [Openstack] - Openstack Neutron이란? (network)

2022.08.08 - [Openstack] - Openstack 배치 서비스 Placement란?

2022.08.08 - [Openstack] - Openstack Glance란? (image)

2022.08.08 - [Openstack] - Openstack Keystone이란? (identity)

2022.08.08 - [Openstack] - Openstack horizon이란? (dashboard)

2022.08.09 - [Openstack] - Openstack Cinder/Swift란? (block storage/object storage)

2025.02.27 - [Openstack] - OpenStack Heat란? (Orchestration)

2025.02.27 - [Openstack] - OpenStack Ceilometer란? (Telemetry & Monitoring)

2025.02.28 - [Openstack] - OpenStack Mistral이란? (Workflow Service)

2025.02.28 - [Openstack] - OpenStack Magnum이란? (Container Orchestration)

2025.02.28 - [Openstack] - OpenStack Kuryr이란? (Container Networking)

2025.02.28 - [Openstack] - OpenStack Zun이란? (Container as a Service - CaaS)

 

 

 

 

 


 

 

 

Octavia란?

Octavia는 Neutron의 LBaaS 기능을 발전시킨 OpenStack의 네이티브 부하 분산 서비스이다. Neutron의 LBaaS v2가 더 이상 유지되지 않음에 따라 Octavia가 OpenStack에서 공식적인 LBaaS 솔루션으로 자리 잡았다.

Octavia는 소프트웨어 정의 네트워크(SDN) 기반의 로드 밸런싱 솔루션으로, 네트워크 트래픽을 여러 가상 머신(VM)이나 컨테이너에 효율적으로 분배하는 역할을 한다.

 

 

 

 


 

 

 

 

 

Octavia의 주요 특징

 

로드 밸런서 풀 (Pool) 및 리스너 (Listener) 지원

  • 로드 밸런서는 여러 개의 백엔드 서버를 묶어 풀(Pool) 형태로 관리
  • 특정 포트에서 요청을 감지하는 리스너(Listener) 개념을 활용하여 트래픽을 관리

 

LBaaS v2 API 지원

  • OpenStack Neutron의 LBaaS v2 API를 기반으로 동작하며, RESTful API 지원

 

다양한 부하 분산 알고리즘 지원

  • 라운드 로빈(Round Robin): 트래픽을 서버 간 균등하게 분배
  • 최소 연결(Least Connections): 가장 적은 연결을 가진 서버로 분배
  • 최소 요청(Least Requests): 응답 시간이 가장 빠른 서버로 트래픽 전달
  • 출처 IP(Hash-Based Source IP): 클라이언트 IP를 기반으로 트래픽을 특정 서버로 분배

 

고가용성(HA) 및 자동 확장 지원

  • Octavia는 Amphora 아키텍처를 기반으로 Active-Standby 고가용성을 지원
  • 로드 밸런서를 동적으로 추가하여 트래픽 급증에도 대응 가능

 

SSL/TLS 종단점 지원

  • HTTPS 트래픽을 암호화하고 인증서를 활용하여 보안 강화 가능

 

 

 


 

 

 

 

Octavia의 아키텍처 구성

Octavia의 아키텍처는 Amphora 기반의 로드 밸런싱 모델을 활용한다.

 

주요 컴포넌트

  1. Octavia API - 부하 분산 요청을 처리하는 API 서비스
  2. Octavia Controller - API 요청을 관리하고, LB 리소스 배포 및 상태를 모니터링
  3. Amphora VM (로드 밸런서 인스턴스) - 실제 트래픽을 처리하는 가상 머신 (전용 경량 VM)
  4. Amphora Agent - 로드 밸런서 인스턴스에서 트래픽을 모니터링하고 Octavia 컨트롤러와 통신
  5. Neutron Integration - OpenStack Neutron과 연동하여 네트워크 리소스 활용

 

 

 

 


 

 

 

 

Octavia 설정 및 사용 예시

 

Octavia 설치 및 활성화

Octavia는 OpenStack 배포 시 기본적으로 포함되며, openstack loadbalancer 명령어를 통해 관리할 수 있다.

openstack loadbalancer create --name my-loadbalancer --vip-subnet public-subnet

 

리스너 생성

트래픽을 받을 포트를 지정하는 리스너를 생성한다.

openstack loadbalancer listener create --name my-listener --protocol HTTP --protocol-port 80 my-loadbalancer

 

백엔드 풀 생성 및 부하 분산 정책 지정

openstack loadbalancer pool create --name my-pool --lb-algorithm ROUND_ROBIN --listener my-listener --protocol HTTP

 

백엔드 서버 추가

openstack loadbalancer member create --subnet private-subnet --address 192.168.1.10 --protocol-port 80 my-pool

 

 

 

 


 

 

 

 

Octavia vs. 기존 Neutron LBaaS

비교 항목 Octavia Neutron LBaaS v2 (Deprecated)
API 지원 LBaaS v2 API LBaaS v2 API (지원 중단)
로드 밸런서 유형 Amphora 기반 VM 가상 네트워크 디바이스 기반
부하 분산 알고리즘 다양한 알고리즘 지원 제한적 알고리즘 지원
고가용성(HA) 지원 (Active-Standby) 미지원
SSL/TLS 지원 지원 제한적 지원

 

 

 

 


 

 

 

결론

  • Octavia는 OpenStack 환경에서 확장성과 고가용성을 갖춘 강력한 부하 분산 솔루션이다.
  • 다양한 부하 분산 알고리즘, SSL/TLS 지원, 자동 확장 기능을 제공하며 Neutron의 LBaaS v2를 대체하는 공식 서비스로 자리 잡았다.
  • OpenStack 환경에서 고성능, 확장 가능한 로드 밸런서를 원한다면 Octavia를 적극 활용해야 한다!

 

 

 

 

 

 


Reference

https://docs.openstack.org/octavia/latest/reference/introduction.html

https://github.com/openstack/octavia

https://docs.openstack.org/api-ref/load-balancer/v2/

728x90
반응형