[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개

OpenStack Korea Community
OpenStack Korea CommunityOpenStack Korea Community
넥슨코리아
우병열
오픈스택 LBaaS 어디까지 왔니?
: 0ctavia 소개
OpenInfra Days Korea 2018
2
• 前) 네트워크 엔지니어
• 現) 오픈스택 엔지니어
발표자 소개
3
• i18N 번역 ( https://translate.openstack.org/ )
 “번역에 관심있으신 분의 많은 기여 부탁드려요”
• lauchpad.net, storyboard.openstack.org에 버그 제보
 대부분이 INVALID, EXPIRED….
오픈소스 기여
4
“오픈스택의 로드밸런서 솔루션인
Octavia를 이해하는 데 도움을 드리기 위하여“
이 발표는..
5
Neutron LBaaS v1/v2
: Load Balancer as a Service
LBaaS
https://www.openstack.org/assets/survey/April2017SurveyReport.pdf
• Neutron 기능 중 로드밸런서에 대한 관심이 가장 높음
 설문 참여해주세요 ^^ : https://www.openstack.org/user-survey/
LBaaS 동작
• 오픈스택 사용자가 API를 이용하여 로드밸런서를 생성/변경/삭제
• 생성된 로드밸런서는 클라이언트의 요청에 따라 인스턴스로 부하분산
• 디바이스 드라이버는 기본 HAProxy 이고, 상용 벤더도 지원 가능
로드밸런서
오픈스택
사용자
LBaaS
API 호출 LB 생성
및 관리
인스턴스
인스턴스
인스턴스
클라이언트
서비스 요청
부하 분산
LBaaS v1
• http, tcp 로드밸런싱 지원
• Citrix, F5 등 상용 벤더와의 연동을 위한 3rd party 드라이버 지원
• Juno에서 처음 등장, Liberty에서 지원 종료
• Kilo 부터 LBaaSv2 등장
LBaaS v2
• L7 컨텐츠 스위칭, 리스너 추가, Pool sharing
• 리스너를 통해 하나의 LB에 다수의 포트 생성 가능
https://www.openstack.org/assets/Uploads/LBaaS.v2.Liberty.and.Beyond.pdf
LBaaS v2 구성
• 로드밸런서 : 여러 개의 리스너로 이루어지고 VIP를 가지고 있음
• 리스너: 로드밸런싱될 서비스 포트를 수신 (Virtual Server)
• 풀: 여러 개의 멤버로 구성되고 리스너로부터 요청을 전달받음
• 맴버: 하나의 백엔드 서버이고, 풀의 구성원 (Real Server)
• 헬스 모니터: 풀 내 멤버들의 서비스 정상 유무를 확인
LBaaS v2
• TLS 연결 지원
• Barbican 사용
https://www.openstack.org/assets/Uploads/LBaaS.v2.Liberty.and.Beyond.pdf
LBaaS was deprecated
• 지원 종료는 Newton부터 예정되었고 Queens 부터 deprecated
LBaaS는 왜 지원종료 되었나요?
https://wiki.openstack.org/wiki/Neutron/LBaaS/Deprecation
• 로드밸런서가 굳이 neutron 코드와 DB에 접속할 필요가 없음
• Neutron이 너무 커져서 분리 필요
• 기능 및 성능 향상을 위해 Neutron API 제약에서 분리 필요
• 빠른 개발을 위해 Neutron 에서 분리
LBaaS를 계속 쓸 수는 없나요?
• LBaaS는 Queens에서 지원종료
• 2 Cycle 이후인 오픈스택 “T”릴리즈에서 완전히 사라짐
• Queens의 새 기능으로 lbaasv2-proxy 플러그인 등장
“이러나 저러나 직접 만들어 쓰는 게 아니라면 Octavia로 갈아타야 합니다"
15
Octavia
: Load Balancer as a Service
Octavia
https://www.openstack.org/software/project-navigator
“Official top level project”
Octavia
• 오픈스택 기반의 운영자 레벨에서 수평적 확장이 가능한 로드밸런서
• Liberty에서 0.5가 공개되었고, Pike에서 1.0으로 정식 릴리즈됨
• Neutron LBaaS 프로젝트에서 파생되었고, LBaaS v2 모든 기능과 호환됨
• 대시보드 등 여러가지 기능들이 개선됨
Neutron-lbaas Neutron-lbaas-dashboard LBaaS v2 API
Octavia Octavia-dashboard Octavia v2 API
https://developer.openstack.org/api-ref/load-balancer/v2/#list-load-balancershttps://developer.openstack.org/api-ref/network/v2/#list-load-balancers
Neutron-lbaas-v2 API Octavia-v2 API
API 비교
<LBaasV2 API>
• Load balancers
• Load balancer statuses
• Listeners
• Pools
• Pool members
• Health monitors
<OctaviaV2 API>
• Load balancers
• Listeners
• Pools
• Members
• Health monitor
• L7 Policeis
• L7 Rules
• Quotas
• Providers
• amphora
 Octavia V2 API는 LBaaS V2 API의 모든 기능들을 제공
 Octavia에서는 L7 규칙, Quota, amphora 등 추가 기능들을 제공
API 비교
• 멤버 운영상태 표기
• 전체적인 디자인이 직관적으로 변경
Octavia dashboard
LBaaSv2와 Octavia의 동작 비교
A
# HTTP, TERMINATED_HTTPS 일 경우 X-FORWARD-FOR 활성화하면 Client IP를 확인할 수 있음
$ openstack loadbalancer listener set {LISTENER_NAME} --insert-headers X-Forwarded-For=true
B C
Client LB Member
HTTP
TCP80
A  B:80 B  C:80
HTTP
TCP80
A B C
Client LB Member
TERMINATE_HTTPS
TCP443
A  B:443 B  C:80
HTTP
TCP80
LBaaSv2와 Octavia의 동작 비교
Listener
Port 80/HTTP
Pool
LoadBalancer (VIP)
Listener
Port443/HTTPs
Pool
Members
Members
Members
Members
Members
Members
https://docs.openstack.org/neutron/queens/_images/lbaasv2-diagram.png
Health Monitor Health Monitor
• 로드밸런서 동작 방식은 LBaaSv2와 Octavia 모두 동일
Compute node#NCompute node#1
Octavia의 리소스 사용
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
LoadBalancer
Listener
Port80
Listener
Port443
Lbaas-agent
….
….
Octavia
• LBaaS에서는 lbaas-agent의 리소스 만큼만 로드밸런서 구성 가능
• Octavia는 로드밸런서가 인스턴스로서 배포되므로 스케일 확장이 용이
LBaasV2
Lbaas_agent
DVR과의 관계
• 기존 LBaasV2는 트래픽이 lbaas_agent로 몰리는 구조
• DVR에선 Floating-IP를 컴퓨트 노드가 직접 처리하여 스케일 확장이 용이
LB VIP#1 LB VIP#N
FloatingIP#1 FloatingIP#N
Client#1 Client#N
Compute#1
LB VIP#1
FloatingIP#1
Client#1
Compute#N
LB VIP#N
FloatingIP#N
Client#N
….
….
….
….
OctaviaLBaasV2
Octavia 연계 프로젝트
• Nova : amphora를 관리하고 컴퓨팅 리소스 제공
• Neutron : amphora 연결 및 외부 네트워크 제공
• Barbican : TLS 인증서 관리
• Keystone : Octavia API 인증, Octavia의 다른 오픈스택 프로젝트 인증
• Glance : amphora 가상 머신 이미지 저장
• Oslo : Octavia 제어 구성요소들 간의 통신
• Taskflow : 백엔드 서비스 설정 및 관리
Octavia 구성요소
• amphora : haproxy가 동작하는 VM
• Controller : 개별적인 4개의 데몬으로 구성
 API Controller : Octavia API. Controller work를 통해 oslo messag로 전달.
 Controller Worker : API로부터 받은 요청을 수행
 Health Manager : amphora 모니터링, 이중화 구성 시 Failover를 담당
 Housekeeping Manager : ODB정리, 여분 풀 관리, amphora 인증서 관리
• Network : Amphora가 Octavia controller와 통신하는 로드밸런서 네트워크
Octavia 구성요소
https://docs.openstack.org/octavia/latest/reference/introduction.html
28
Amphora
: actually performs the task of
loadbalancing in the Octavia system.
Amphora 구성요소
Admin project
LB-Network
router:external=Exxternal
Subnet: 172.16.0.0/24
LB-keypair
LB-Security group
udp 5555: heartbeat
(옵션) amphora ssh용
tcp 9443: amphora API
(옵션) tcp 22:amphora ssh
LB-Flavor
cpu 1, ram 2G, HDD 3G
LB-Image
Ubuntu-based, private
• LB-Network
 Octavia 컨트롤러와 통신하는 IP를 dhcp로 할당
 일반적으로 외부 네트워크로 구성
• LB-Keypair
 트러블슈팅 등을 위한 amphora 접속용
 Haproxy 로그 확인, tcpdump 이용 등 가능
• LB-Security Group
 Octavia 컨트롤러 IP만 허용
 Listener 생성 시 Listner용 보안그룹은 별도로 자동 생성됨
• LB-Flavor
 Amphora 사양 구성
 환경에 맞는 ram, hdd 용량 산정
• LB-Image
 Ubuntu xenial Amphora 이미지
 빠른 시작을 위해 Raw 포맷 변경
User project
Amphora 구성요소
user-Network
router:external=Internal
Subnet: 192.168.0.0/24
user-certificate
ACL: admin or octavia
• User-Network
 Member가 위치한 테넌트 네트워크
 LB VIP가 dhcp로 할당
• User-certificate
 (TERMINATED_HTTPS 설정 시) 인증서 저장
 ACL로 admin 허용 필요 (구성에 따라 octavia 계정)
User project
Amphora 구성요소
Admin project
LB-Network
router:external=Exxternal
Subnet: 172.16.0.0/24
LB-keypair
LB-Security group
udp 5555: heartbeat
(옵션) amphora ssh용
tcp 9443: amphora API
(옵션) tcp 22:amphora ssh
LB-Flavor
cpu 1, ram 2G, HDD 3G
LB-Image
Ubuntu-based, private
user-Network
router:external=Internal
Subnet: 192.168.0.0/24
user-certificate
ACL: admin or octavia
Amphora
Default
Namespace
HAProxy
Namespace
LB-Flavor
LB-Image
LB
Network
LB
keypair
LB
security
Group
User
Network
User
certificate
Listener
Security
Group
• Amphora 구성
 각 구성요소들을 이용하여 Admin 프로젝트에 생성
 User project에서는 Amphora를 볼 수 없음
Amphora 이중화
Amphora#1
Default
Namespace
HAProxy
Namespace
LB
Network
User
Network
Keep
alived
Amphora#2
Default
Namespace
HAProxy
Namespace
LB
Network
User
Network
Keep
alived
172.16.0.11 192.168.0.11
172.16.0.12 192.168.0.12
LB-NET
User-NET
VIP
192.168.0.10
Amphora Failover
Amphora#1
UUID: 11
IP: 192.168.0.11
Amphora#2
UUID: 12
IP: 192.168.0.12
VIP
192.168.0.10
Amphora#1
UUID: 11
IP: 192.168.0.11
Amphora#2
UUID: 12
IP: 192.168.0.12
VIP
192.168.0.10
Amphora#3
UUID: 13
IP: 192.168.0.13
Amphora#2
UUID: 12
IP: 192.168.0.12
VIP
192.168.0.10
정상 상태
Failover
=> 기존 Amphora는 삭제되고 새로운 Amphora가 생성됨
Standby 생성
Host#1
Amphora anti_affinity
Amphora#1
Amphora#2
Host#1
Amphora#1
Host#2
Amphora#2
https://docs.openstack.org/octavia/queens/configuration/configref.html
• 별도 설정 없이는 이중화된 Amhphora는
nova_scheduler 상황에 따라 하나의 호스트에 위치될 수 있음
• octavia.conf 설정파일에서 ani_affinity = true 로 설정해야
한 LB 내 Amphora는 다른 호스트로 배치됨
Amphora 호스트 배치
https://docs.openstack.org/nova/latest/user/filter-scheduler.html
• Amphora는 nova 인스턴스이므로, nova scheduler 에 따라 호스트가 배정됨
• Amphora용 flavor나 image의 properties를 이용하여 호스트 배치를 조정
(AggregateInstanceExtraSpecsFilter, AggregateImagePropertiesIsolation 등)
Octavia 설정 가이드
• 로드밸런서를 구성하는 예제가 상세히 수록
• Octavia 설치, 구성, 설계 등 다양한 문서
https://docs.openstack.org/octavia/queens/user/guides/basic-cookbook.html
Basic Load Balancing Cookbook
Amphora 성능 테스트
Listener
Port 80/HTTP
Pool
LoadBalancer (VIP)
Listener
Port443/HTTPs
Pool
Members
Members
Members
Members
Members
Members
Health Monitor Health Monitor
• Octavia를 이용하여 HTTP, TERMINATE_HTTPS 구성
 CPU: E5-2630 v3 @ 2.40GHz
 NIC: 10G (No DPDK/SR-IOV)
 Neutron: Openvswitch, VxLAN, L3 Agent
 SecurityGroup: iptablesHybrid
Amphora 성능 테스트
$ openstack flavor show amphora
+----------------------------+--------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| access_project_ids | d646fa70b99344f798c027e4306beb43 |
| disk | 4 |
| id | cff88302-d578-49d1-9e46-445d3ca142af |
| name | amphora |
| os-flavor-access:is_public | False |
| properties | |
| ram | 2048 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+----------------------------+--------------------------------------+
$ openstack loadbalancer member list woo-test-10-http
+--------------------------------------+------+----------------------------------+---------------------+----------------+---------------+------------------+--------+
| id | name | project_id | provisioning_status | address | protocol_port | operating_status | weight |
+--------------------------------------+------+----------------------------------+---------------------+----------------+---------------+------------------+--------+
| 23878e5f-10e6-4cdf-b9e8-ace4991356cc | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.17 | 80 | ONLINE | 1 |
| 045f8e28-3d1c-4b39-b3a0-277be27fa4ce | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.12 | 80 | ONLINE | 1 |
| b81c3159-3913-495b-bbf1-49e76665ec3e | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.32 | 80 | ONLINE | 1 |
| 3fefeadd-924c-4e87-9e47-a1253b1384b3 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.6 | 80 | ONLINE | 1 |
| 4a77fbbc-1ed9-43e1-b8be-1241cb62e321 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.14 | 80 | ONLINE | 1 |
| c29764fc-5589-49d9-91d8-70ff4410d5c7 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.42 | 80 | ONLINE | 1 |
| 85c10087-a6ef-4deb-95ad-23293567ef48 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.31 | 80 | ONLINE | 1 |
| f521308b-8078-43d0-a5c2-4ba21963c100 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.21 | 80 | ONLINE | 1 |
| cb2ba01c-ccd4-466b-9219-9f9508fba0d5 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.26 | 80 | ONLINE | 1 |
| 3dfedd64-7a79-4e12-8b1e-191f9dfcbbde | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.36 | 80 | ONLINE | 1 |
| aedd8fff-8ce1-4960-a456-61b5e83bcd67 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.25 | 80 | ONLINE | 1 |
| 00a0697e-f6a7-4683-8752-ecd3c717e38e | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.9 | 80 | ONLINE | 1 |
| b01b9f85-1742-4190-a9d7-dd37559c3c7e | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.34 | 80 | ONLINE | 1 |
| fe21195c-afb2-46cc-b076-52828821b64f | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.40 | 80 | ONLINE | 1 |
| 03665b9c-4abb-4218-b1df-5bcca98938a1 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.39 | 80 | ONLINE | 1 |
| 6674f93a-c48a-4b92-9af5-2e228687f9e9 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.47 | 80 | ONLINE | 1 |
+--------------------------------------+------+----------------------------------+---------------------+----------------+---------------+------------------+--------+
• vCPU 1, RAM 2G, HDD 4G로 구성된 Amphora Flavor
• Amphora와 동일한 사양으로 구성된 멤버 16개 생성
Amphora 성능 테스트
$ openstack loadbalancer listener show woo-test-10-https
+---------------------------+---------------------------------------------------------------------------------+
| Field | Value |
+---------------------------+---------------------------------------------------------------------------------+
| admin_state_up | True |
| connection_limit | -1 |
| created_at | 2018-04-09T01:27:27 |
| default_pool_id | 556fade6-28dc-4821-a40b-23698f9bfa81 |
| default_tls_container_ref | https://poc.test.kr:9311/v1/containers/ade69a1f-a929-4b8f-af26-0a981f8829c6 |
| description | |
| id | ee5cd922-7747-490e-97ee-fc679b130e8d |
| insert_headers | None |
| l7policies | |
| loadbalancers | 8f6a90e9-4bb5-44fd-9c5f-250390041a44 |
| name | woo-test-10-https |
| operating_status | ONLINE |
| project_id | 56ff3f0c6e30425b89766d5e3201295c |
| protocol | TERMINATED_HTTPS |
| protocol_port | 443 |
| provisioning_status | ACTIVE |
| sni_container_refs | [] |
| updated_at | 2018-06-20T01:34:54 |
+---------------------------+---------------------------------------------------------------------------------+
$ openstack secret container get https://poc.test.kr:9311/v1/containers/ade69a1f-a929-4b8f-af26-0a981f8829c6
+----------------+---------------------------------------------------------------------------------+
| Field | Value |
+----------------+---------------------------------------------------------------------------------+
| Container href | https://poc.test.kr:9311/v1/containers/ade69a1f-a929-4b8f-af26-0a981f8829c6 |
| Name | tls_container1 |
| Created | 2018-06-20 01:29:47+00:00 |
| Status | ACTIVE |
| Type | certificate |
| Certificate | https://poc.test.kr:9311/v1/secrets/b4bee965-fe09-48f9-8b00-f29a845af101 |
| Intermediates | None |
| Private Key | https:// poc.test.kr:9311/v1/secrets/3c3ccb6f-2f27-4281-ad1b-d88991c261ed |
| PK Passphrase | None |
| Consumers | None |
+----------------+---------------------------------------------------------------------------------+
• TERMINATED_HTTPS 리스너 구성
• Barbican에 인증서 구성
Amphora 성능 테스트
파일크기 유형 동시요청 요청 횟수 총 소요시간 처리시간 초당 요청 전송속도
40B php 16 100 0.02 sec 3.74 ms 4,281 req/sec 0.76 MB/sec
40B php 16 1,000 0.02 sec 3.06 ms 5,224 req/sec 0.92 MB/sec
40B php 16 10,000 1.99 sec 3.18 ms 5,023 req/sec 0.89 MB/sec
100KB binary 16 100 0.04 sec 6.84 ms 2,339 req/sec 234.4 MB/sec
100KB binary 16 1,000 0.41 sec 6.61 ms 2,421 req/sec 242.7 MB/sec
100KB binary 16 10,000 4.01 sec 6.51 ms 2,457 req/sec 246.3 MB/sec
1MB binary 16 100 0.25 sec 40.71 ms 393 req/sec 402.6 MB/sec
1MB binary 16 1,000 2.60 sec 41.64 ms 384 req/sec 393.6 MB/sec
1MB binary 16 10,000 26.34 sec 42.14 ms 380 req/sec 388.8 MB/sec
• 1core amphora로 http 성능은 최대 초당 5,200 request, 전송성능은 3.1Gbps 정도
파일크기 유형 동시요청 요청 횟수 총 소요시간 처리시간 초당 요청 전송속도
40B php 16 100 0.09 sec 13.81 ms 1,158 req/sec 0.20 MB/sec
40B php 16 1,000 0.79 sec 12.58 ms 1,271 req/sec 0.22 MB/sec
40B php 16 10,000 7.77 sec 12.43 ms 1,287 req/sec 0.23 MB/sec
100KB binary 16 100 0.14 sec 21.93 ms 729 req/sec 73.1 MB/sec
100KB binary 16 1,000 1.16 sec 18.64 ms 858 req/sec 86.0 MB/sec
100KB binary 16 10,000 10.78 sec 17.25 ms 927 req/sec 92.9 MB/sec
1MB binary 16 100 0.41 sec 65.66 ms 243 req/sec 249.6 MB/sec
1MB binary 16 1,000 4.23 sec 67.65 ms 236 req/sec 242.2 MB/sec
1MB binary 16 10,000 38.46 sec 61.54 ms 259 req/sec 266.3 MB/sec
• 1core amphora로 https 성능은 최대 초당 1,200 request, 전송성능은 2.1Gbps 정도 (2K 인증서)
※ 환경에 따라 많은 차이가 발생할 수 있으므로, 이 결과는 단순 참고용으로만 생각해주시기 바랍니다
※ apache bench를 이용한 테스트 결과입니다.
$ ab -n 100 -c 16 https://192.168.100.45/index.php
Octavia 릴리즈
Ver 0.5 (liberty) Ver 0.8 (mikata) Ver 0.9 (newton)
Ver 1.0 (pike) Ver 2.0 (queens)Ver 0.10 (ocata)
- 최초 릴리즈 - L7 Polices, rules
- TERMINATED_HTTPS
- Active/Standby
- IPv6
- housekeeper
- LBaaS 지원종료 결정
- 정식 릴리즈
- Octavia API v2.0
- TLS-HELLO
- Anti-affinity
- Monitor address 설정
- Amphora AZ
- Amphora 생성 속도 조절
- RBAC
- amphora endpoint
- amphora failover
- PKCS12
- 인증서 Castellan
- Neutron QoS
- Keystone api v3
- Quota
- Policy.json
- cent, ubuntu, fedora, rhel
- PKCS7 PEM or DER for T_HTTPS
Octavia 로드맵
 Active/Active 구성 지원 (BGP Anycast 이용)
 Provider driver 지원 (3rd party Provider 드라이버)
 개별 Flavor 지원
 UDP 로드밸런싱 지원 (LVS 드라이버)
 백업 페이지나 “Sorry” 페이지 지원
 백업 멤버 지원
 ACL 지원
 추가적인 부하분산 알고리즘 지원
 추가적인 헬스 모니터 프로토콜 지원
 Backend (Octavia to server) 암호화
 CA 인증서 관리
 컨텐츠 캐싱 지원
 DDoS 방어 기능 지원
 오픈스택 GSLB인 Kosmos와의 연계
 DPDK, SRIOV, CPU pinning 등 지원
 추가적인 L7 프로토콜 지원
 다른 멤버의 상태 추적
 향상된 로깅 옵션 지원
• Octavia 3.0 이후부터 지원할 예정인 기능들
43
감사합니다
궁금하신 점은 한국 오픈스택 커뮤니티
( https://www.facebook.com/groups/openstack.kr/ )에 올려주세요
1 sur 43

Recommandé

[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링 par
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링OpenStack Korea Community
2K vues27 diapositives
[오픈소스컨설팅]오픈스택에 대하여 par
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여Ji-Woong Choi
7.5K vues126 diapositives
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region par
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
6K vues106 diapositives
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법 par
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법Open Source Consulting
3.6K vues35 diapositives
[2018] 오픈스택 5년 운영의 경험 par
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
2.7K vues46 diapositives
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링 par
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링OpenStack Korea Community
25.4K vues29 diapositives

Contenu connexe

Tendances

[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기 par
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기Ian Choi
15.7K vues257 diapositives
Kubernetes - A Comprehensive Overview par
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewBob Killen
26.5K vues67 diapositives
Drive into calico architecture par
Drive into calico architectureDrive into calico architecture
Drive into calico architectureAnirban Sen Chowdhary
1.6K vues10 diapositives
Neutron packet logging framework par
Neutron packet logging frameworkNeutron packet logging framework
Neutron packet logging frameworkVietnam Open Infrastructure User Group
351 vues24 diapositives
20150511 jun lee_openstack neutron 분석 (최종) par
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)rootfs32
6.5K vues83 diapositives
Routed Provider Networks on OpenStack par
Routed Provider Networks on OpenStack Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack Romana Project
1.8K vues15 diapositives

Tendances(20)

[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기 par Ian Choi
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi15.7K vues
Kubernetes - A Comprehensive Overview par Bob Killen
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
Bob Killen26.5K vues
20150511 jun lee_openstack neutron 분석 (최종) par rootfs32
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)
rootfs326.5K vues
Routed Provider Networks on OpenStack par Romana Project
Routed Provider Networks on OpenStack Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack
Romana Project1.8K vues
오픈스택 기반 클라우드 서비스 구축 방안 및 사례 par SONG INSEOB
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB7.7K vues
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN par OpenStack Korea Community
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
Introduction to the Container Network Interface (CNI) par Weaveworks
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
Weaveworks12.1K vues
OpenStack Architecture par Mirantis
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
Mirantis88.5K vues
OpenStack Deployment in the Enterprise par Cisco Canada
OpenStack Deployment in the Enterprise OpenStack Deployment in the Enterprise
OpenStack Deployment in the Enterprise
Cisco Canada2.4K vues
Red Hat OpenStack 17 저자직강+스터디그룹_2주차 par Nalee Jang
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Nalee Jang276 vues

Similaire à [OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개

[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE par
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE 흥래 김
7.5K vues118 diapositives
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문 par
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문Hyunmin Kim
2.8K vues20 diapositives
Service Worker 를 이용한 
Offline Web Application 구현 par
Service Worker 를 이용한 
Offline Web Application 구현Service Worker 를 이용한 
Offline Web Application 구현
Service Worker 를 이용한 
Offline Web Application 구현병태 정
1.6K vues34 diapositives
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee) par
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)삵 (sarc.io)
2.7K vues23 diapositives
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안 par
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
15.2K vues54 diapositives
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례 par
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례YongSung Yoon
25.9K vues65 diapositives

Similaire à [OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개(20)

[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE par 흥래 김
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
흥래 김7.5K vues
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문 par Hyunmin Kim
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
Hyunmin Kim2.8K vues
Service Worker 를 이용한 
Offline Web Application 구현 par 병태 정
Service Worker 를 이용한 
Offline Web Application 구현Service Worker 를 이용한 
Offline Web Application 구현
Service Worker 를 이용한 
Offline Web Application 구현
병태 정1.6K vues
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee) par 삵 (sarc.io)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
삵 (sarc.io)2.7K vues
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안 par SANG WON PARK
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
SANG WON PARK15.2K vues
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례 par YongSung Yoon
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
YongSung Yoon25.9K vues
[DevOn 2013] Dynamic web proxy par 흥래 김
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
흥래 김1.7K vues
[오픈소스컨설팅]Tomcat6&7 How To par Ji-Woong Choi
[오픈소스컨설팅]Tomcat6&7 How To[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How To
Ji-Woong Choi3.3K vues
An overview of kubernetes & (very) simple live demo par Gwan-Taek Lee
An overview of kubernetes & (very) simple live demoAn overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demo
Gwan-Taek Lee232 vues
K8s beginner 2_advanced_ep02_201904221130_post par Inho Kang
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
Inho Kang996 vues
OpenStack summit austin 2016 par Yongyoon Shin
OpenStack summit austin 2016OpenStack summit austin 2016
OpenStack summit austin 2016
Yongyoon Shin1.4K vues
Source To URL Without Dockerfile par Won-Chon Jung
Source To URL Without DockerfileSource To URL Without Dockerfile
Source To URL Without Dockerfile
Won-Chon Jung299 vues
오픈스택 멀티노드 설치 후기 par 영우 김
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
영우 김1.9K vues
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D) par Ubuntu Korea Community
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
KT 안재석 박사 - 오픈 소스 기반 클라우드 컴퓨팅 솔루션 open stack 이야기 (2011Y05M28D)
톰캣 운영 노하우 par jieunsys
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우
jieunsys24.5K vues
Laravel 06.Request LifeCyle par hojin lee
Laravel 06.Request LifeCyleLaravel 06.Request LifeCyle
Laravel 06.Request LifeCyle
hojin lee711 vues
Ansible를 통한 컨테이너 환경 자동화 par Opennaru, inc.
Ansible를 통한 컨테이너 환경 자동화Ansible를 통한 컨테이너 환경 자동화
Ansible를 통한 컨테이너 환경 자동화
Opennaru, inc. 744 vues

Plus de OpenStack Korea Community

2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티 par
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티OpenStack Korea Community
1.5K vues14 diapositives
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ... par
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...OpenStack Korea Community
2.5K vues23 diapositives
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible) par
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)OpenStack Korea Community
886 vues30 diapositives
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta... par
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...OpenStack Korea Community
1.8K vues40 diapositives
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ... par
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...OpenStack Korea Community
774 vues10 diapositives
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ... par
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...OpenStack Korea Community
448 vues14 diapositives

Plus de OpenStack Korea Community(20)

[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ... par OpenStack Korea Community
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta... par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ... par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ... par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기" par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스... par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드... par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T... par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 par OpenStack Korea Community
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 [OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무 par OpenStack Korea Community
[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무
[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무
[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability... par OpenStack Korea Community
[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability...[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability...
[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability...
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크 par OpenStack Korea Community
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크

[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개

  • 1. 넥슨코리아 우병열 오픈스택 LBaaS 어디까지 왔니? : 0ctavia 소개 OpenInfra Days Korea 2018
  • 2. 2 • 前) 네트워크 엔지니어 • 現) 오픈스택 엔지니어 발표자 소개
  • 3. 3 • i18N 번역 ( https://translate.openstack.org/ )  “번역에 관심있으신 분의 많은 기여 부탁드려요” • lauchpad.net, storyboard.openstack.org에 버그 제보  대부분이 INVALID, EXPIRED…. 오픈소스 기여
  • 4. 4 “오픈스택의 로드밸런서 솔루션인 Octavia를 이해하는 데 도움을 드리기 위하여“ 이 발표는..
  • 5. 5 Neutron LBaaS v1/v2 : Load Balancer as a Service
  • 6. LBaaS https://www.openstack.org/assets/survey/April2017SurveyReport.pdf • Neutron 기능 중 로드밸런서에 대한 관심이 가장 높음  설문 참여해주세요 ^^ : https://www.openstack.org/user-survey/
  • 7. LBaaS 동작 • 오픈스택 사용자가 API를 이용하여 로드밸런서를 생성/변경/삭제 • 생성된 로드밸런서는 클라이언트의 요청에 따라 인스턴스로 부하분산 • 디바이스 드라이버는 기본 HAProxy 이고, 상용 벤더도 지원 가능 로드밸런서 오픈스택 사용자 LBaaS API 호출 LB 생성 및 관리 인스턴스 인스턴스 인스턴스 클라이언트 서비스 요청 부하 분산
  • 8. LBaaS v1 • http, tcp 로드밸런싱 지원 • Citrix, F5 등 상용 벤더와의 연동을 위한 3rd party 드라이버 지원 • Juno에서 처음 등장, Liberty에서 지원 종료 • Kilo 부터 LBaaSv2 등장
  • 9. LBaaS v2 • L7 컨텐츠 스위칭, 리스너 추가, Pool sharing • 리스너를 통해 하나의 LB에 다수의 포트 생성 가능 https://www.openstack.org/assets/Uploads/LBaaS.v2.Liberty.and.Beyond.pdf
  • 10. LBaaS v2 구성 • 로드밸런서 : 여러 개의 리스너로 이루어지고 VIP를 가지고 있음 • 리스너: 로드밸런싱될 서비스 포트를 수신 (Virtual Server) • 풀: 여러 개의 멤버로 구성되고 리스너로부터 요청을 전달받음 • 맴버: 하나의 백엔드 서버이고, 풀의 구성원 (Real Server) • 헬스 모니터: 풀 내 멤버들의 서비스 정상 유무를 확인
  • 11. LBaaS v2 • TLS 연결 지원 • Barbican 사용 https://www.openstack.org/assets/Uploads/LBaaS.v2.Liberty.and.Beyond.pdf
  • 12. LBaaS was deprecated • 지원 종료는 Newton부터 예정되었고 Queens 부터 deprecated
  • 13. LBaaS는 왜 지원종료 되었나요? https://wiki.openstack.org/wiki/Neutron/LBaaS/Deprecation • 로드밸런서가 굳이 neutron 코드와 DB에 접속할 필요가 없음 • Neutron이 너무 커져서 분리 필요 • 기능 및 성능 향상을 위해 Neutron API 제약에서 분리 필요 • 빠른 개발을 위해 Neutron 에서 분리
  • 14. LBaaS를 계속 쓸 수는 없나요? • LBaaS는 Queens에서 지원종료 • 2 Cycle 이후인 오픈스택 “T”릴리즈에서 완전히 사라짐 • Queens의 새 기능으로 lbaasv2-proxy 플러그인 등장 “이러나 저러나 직접 만들어 쓰는 게 아니라면 Octavia로 갈아타야 합니다"
  • 17. Octavia • 오픈스택 기반의 운영자 레벨에서 수평적 확장이 가능한 로드밸런서 • Liberty에서 0.5가 공개되었고, Pike에서 1.0으로 정식 릴리즈됨 • Neutron LBaaS 프로젝트에서 파생되었고, LBaaS v2 모든 기능과 호환됨 • 대시보드 등 여러가지 기능들이 개선됨 Neutron-lbaas Neutron-lbaas-dashboard LBaaS v2 API Octavia Octavia-dashboard Octavia v2 API
  • 19. <LBaasV2 API> • Load balancers • Load balancer statuses • Listeners • Pools • Pool members • Health monitors <OctaviaV2 API> • Load balancers • Listeners • Pools • Members • Health monitor • L7 Policeis • L7 Rules • Quotas • Providers • amphora  Octavia V2 API는 LBaaS V2 API의 모든 기능들을 제공  Octavia에서는 L7 규칙, Quota, amphora 등 추가 기능들을 제공 API 비교
  • 20. • 멤버 운영상태 표기 • 전체적인 디자인이 직관적으로 변경 Octavia dashboard
  • 21. LBaaSv2와 Octavia의 동작 비교 A # HTTP, TERMINATED_HTTPS 일 경우 X-FORWARD-FOR 활성화하면 Client IP를 확인할 수 있음 $ openstack loadbalancer listener set {LISTENER_NAME} --insert-headers X-Forwarded-For=true B C Client LB Member HTTP TCP80 A  B:80 B  C:80 HTTP TCP80 A B C Client LB Member TERMINATE_HTTPS TCP443 A  B:443 B  C:80 HTTP TCP80
  • 22. LBaaSv2와 Octavia의 동작 비교 Listener Port 80/HTTP Pool LoadBalancer (VIP) Listener Port443/HTTPs Pool Members Members Members Members Members Members https://docs.openstack.org/neutron/queens/_images/lbaasv2-diagram.png Health Monitor Health Monitor • 로드밸런서 동작 방식은 LBaaSv2와 Octavia 모두 동일
  • 23. Compute node#NCompute node#1 Octavia의 리소스 사용 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 LoadBalancer Listener Port80 Listener Port443 Lbaas-agent …. …. Octavia • LBaaS에서는 lbaas-agent의 리소스 만큼만 로드밸런서 구성 가능 • Octavia는 로드밸런서가 인스턴스로서 배포되므로 스케일 확장이 용이 LBaasV2
  • 24. Lbaas_agent DVR과의 관계 • 기존 LBaasV2는 트래픽이 lbaas_agent로 몰리는 구조 • DVR에선 Floating-IP를 컴퓨트 노드가 직접 처리하여 스케일 확장이 용이 LB VIP#1 LB VIP#N FloatingIP#1 FloatingIP#N Client#1 Client#N Compute#1 LB VIP#1 FloatingIP#1 Client#1 Compute#N LB VIP#N FloatingIP#N Client#N …. …. …. …. OctaviaLBaasV2
  • 25. Octavia 연계 프로젝트 • Nova : amphora를 관리하고 컴퓨팅 리소스 제공 • Neutron : amphora 연결 및 외부 네트워크 제공 • Barbican : TLS 인증서 관리 • Keystone : Octavia API 인증, Octavia의 다른 오픈스택 프로젝트 인증 • Glance : amphora 가상 머신 이미지 저장 • Oslo : Octavia 제어 구성요소들 간의 통신 • Taskflow : 백엔드 서비스 설정 및 관리
  • 26. Octavia 구성요소 • amphora : haproxy가 동작하는 VM • Controller : 개별적인 4개의 데몬으로 구성  API Controller : Octavia API. Controller work를 통해 oslo messag로 전달.  Controller Worker : API로부터 받은 요청을 수행  Health Manager : amphora 모니터링, 이중화 구성 시 Failover를 담당  Housekeeping Manager : ODB정리, 여분 풀 관리, amphora 인증서 관리 • Network : Amphora가 Octavia controller와 통신하는 로드밸런서 네트워크
  • 28. 28 Amphora : actually performs the task of loadbalancing in the Octavia system.
  • 29. Amphora 구성요소 Admin project LB-Network router:external=Exxternal Subnet: 172.16.0.0/24 LB-keypair LB-Security group udp 5555: heartbeat (옵션) amphora ssh용 tcp 9443: amphora API (옵션) tcp 22:amphora ssh LB-Flavor cpu 1, ram 2G, HDD 3G LB-Image Ubuntu-based, private • LB-Network  Octavia 컨트롤러와 통신하는 IP를 dhcp로 할당  일반적으로 외부 네트워크로 구성 • LB-Keypair  트러블슈팅 등을 위한 amphora 접속용  Haproxy 로그 확인, tcpdump 이용 등 가능 • LB-Security Group  Octavia 컨트롤러 IP만 허용  Listener 생성 시 Listner용 보안그룹은 별도로 자동 생성됨 • LB-Flavor  Amphora 사양 구성  환경에 맞는 ram, hdd 용량 산정 • LB-Image  Ubuntu xenial Amphora 이미지  빠른 시작을 위해 Raw 포맷 변경
  • 30. User project Amphora 구성요소 user-Network router:external=Internal Subnet: 192.168.0.0/24 user-certificate ACL: admin or octavia • User-Network  Member가 위치한 테넌트 네트워크  LB VIP가 dhcp로 할당 • User-certificate  (TERMINATED_HTTPS 설정 시) 인증서 저장  ACL로 admin 허용 필요 (구성에 따라 octavia 계정)
  • 31. User project Amphora 구성요소 Admin project LB-Network router:external=Exxternal Subnet: 172.16.0.0/24 LB-keypair LB-Security group udp 5555: heartbeat (옵션) amphora ssh용 tcp 9443: amphora API (옵션) tcp 22:amphora ssh LB-Flavor cpu 1, ram 2G, HDD 3G LB-Image Ubuntu-based, private user-Network router:external=Internal Subnet: 192.168.0.0/24 user-certificate ACL: admin or octavia Amphora Default Namespace HAProxy Namespace LB-Flavor LB-Image LB Network LB keypair LB security Group User Network User certificate Listener Security Group • Amphora 구성  각 구성요소들을 이용하여 Admin 프로젝트에 생성  User project에서는 Amphora를 볼 수 없음
  • 33. Amphora Failover Amphora#1 UUID: 11 IP: 192.168.0.11 Amphora#2 UUID: 12 IP: 192.168.0.12 VIP 192.168.0.10 Amphora#1 UUID: 11 IP: 192.168.0.11 Amphora#2 UUID: 12 IP: 192.168.0.12 VIP 192.168.0.10 Amphora#3 UUID: 13 IP: 192.168.0.13 Amphora#2 UUID: 12 IP: 192.168.0.12 VIP 192.168.0.10 정상 상태 Failover => 기존 Amphora는 삭제되고 새로운 Amphora가 생성됨 Standby 생성
  • 34. Host#1 Amphora anti_affinity Amphora#1 Amphora#2 Host#1 Amphora#1 Host#2 Amphora#2 https://docs.openstack.org/octavia/queens/configuration/configref.html • 별도 설정 없이는 이중화된 Amhphora는 nova_scheduler 상황에 따라 하나의 호스트에 위치될 수 있음 • octavia.conf 설정파일에서 ani_affinity = true 로 설정해야 한 LB 내 Amphora는 다른 호스트로 배치됨
  • 35. Amphora 호스트 배치 https://docs.openstack.org/nova/latest/user/filter-scheduler.html • Amphora는 nova 인스턴스이므로, nova scheduler 에 따라 호스트가 배정됨 • Amphora용 flavor나 image의 properties를 이용하여 호스트 배치를 조정 (AggregateInstanceExtraSpecsFilter, AggregateImagePropertiesIsolation 등)
  • 36. Octavia 설정 가이드 • 로드밸런서를 구성하는 예제가 상세히 수록 • Octavia 설치, 구성, 설계 등 다양한 문서 https://docs.openstack.org/octavia/queens/user/guides/basic-cookbook.html Basic Load Balancing Cookbook
  • 37. Amphora 성능 테스트 Listener Port 80/HTTP Pool LoadBalancer (VIP) Listener Port443/HTTPs Pool Members Members Members Members Members Members Health Monitor Health Monitor • Octavia를 이용하여 HTTP, TERMINATE_HTTPS 구성  CPU: E5-2630 v3 @ 2.40GHz  NIC: 10G (No DPDK/SR-IOV)  Neutron: Openvswitch, VxLAN, L3 Agent  SecurityGroup: iptablesHybrid
  • 38. Amphora 성능 테스트 $ openstack flavor show amphora +----------------------------+--------------------------------------+ | Field | Value | +----------------------------+--------------------------------------+ | OS-FLV-DISABLED:disabled | False | | OS-FLV-EXT-DATA:ephemeral | 0 | | access_project_ids | d646fa70b99344f798c027e4306beb43 | | disk | 4 | | id | cff88302-d578-49d1-9e46-445d3ca142af | | name | amphora | | os-flavor-access:is_public | False | | properties | | | ram | 2048 | | rxtx_factor | 1.0 | | swap | | | vcpus | 1 | +----------------------------+--------------------------------------+ $ openstack loadbalancer member list woo-test-10-http +--------------------------------------+------+----------------------------------+---------------------+----------------+---------------+------------------+--------+ | id | name | project_id | provisioning_status | address | protocol_port | operating_status | weight | +--------------------------------------+------+----------------------------------+---------------------+----------------+---------------+------------------+--------+ | 23878e5f-10e6-4cdf-b9e8-ace4991356cc | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.17 | 80 | ONLINE | 1 | | 045f8e28-3d1c-4b39-b3a0-277be27fa4ce | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.12 | 80 | ONLINE | 1 | | b81c3159-3913-495b-bbf1-49e76665ec3e | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.32 | 80 | ONLINE | 1 | | 3fefeadd-924c-4e87-9e47-a1253b1384b3 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.6 | 80 | ONLINE | 1 | | 4a77fbbc-1ed9-43e1-b8be-1241cb62e321 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.14 | 80 | ONLINE | 1 | | c29764fc-5589-49d9-91d8-70ff4410d5c7 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.42 | 80 | ONLINE | 1 | | 85c10087-a6ef-4deb-95ad-23293567ef48 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.31 | 80 | ONLINE | 1 | | f521308b-8078-43d0-a5c2-4ba21963c100 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.21 | 80 | ONLINE | 1 | | cb2ba01c-ccd4-466b-9219-9f9508fba0d5 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.26 | 80 | ONLINE | 1 | | 3dfedd64-7a79-4e12-8b1e-191f9dfcbbde | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.36 | 80 | ONLINE | 1 | | aedd8fff-8ce1-4960-a456-61b5e83bcd67 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.25 | 80 | ONLINE | 1 | | 00a0697e-f6a7-4683-8752-ecd3c717e38e | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.9 | 80 | ONLINE | 1 | | b01b9f85-1742-4190-a9d7-dd37559c3c7e | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.34 | 80 | ONLINE | 1 | | fe21195c-afb2-46cc-b076-52828821b64f | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.40 | 80 | ONLINE | 1 | | 03665b9c-4abb-4218-b1df-5bcca98938a1 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.39 | 80 | ONLINE | 1 | | 6674f93a-c48a-4b92-9af5-2e228687f9e9 | | 56ff3f0c6e30425b89766d5e3201295c | ACTIVE | 192.168.100.47 | 80 | ONLINE | 1 | +--------------------------------------+------+----------------------------------+---------------------+----------------+---------------+------------------+--------+ • vCPU 1, RAM 2G, HDD 4G로 구성된 Amphora Flavor • Amphora와 동일한 사양으로 구성된 멤버 16개 생성
  • 39. Amphora 성능 테스트 $ openstack loadbalancer listener show woo-test-10-https +---------------------------+---------------------------------------------------------------------------------+ | Field | Value | +---------------------------+---------------------------------------------------------------------------------+ | admin_state_up | True | | connection_limit | -1 | | created_at | 2018-04-09T01:27:27 | | default_pool_id | 556fade6-28dc-4821-a40b-23698f9bfa81 | | default_tls_container_ref | https://poc.test.kr:9311/v1/containers/ade69a1f-a929-4b8f-af26-0a981f8829c6 | | description | | | id | ee5cd922-7747-490e-97ee-fc679b130e8d | | insert_headers | None | | l7policies | | | loadbalancers | 8f6a90e9-4bb5-44fd-9c5f-250390041a44 | | name | woo-test-10-https | | operating_status | ONLINE | | project_id | 56ff3f0c6e30425b89766d5e3201295c | | protocol | TERMINATED_HTTPS | | protocol_port | 443 | | provisioning_status | ACTIVE | | sni_container_refs | [] | | updated_at | 2018-06-20T01:34:54 | +---------------------------+---------------------------------------------------------------------------------+ $ openstack secret container get https://poc.test.kr:9311/v1/containers/ade69a1f-a929-4b8f-af26-0a981f8829c6 +----------------+---------------------------------------------------------------------------------+ | Field | Value | +----------------+---------------------------------------------------------------------------------+ | Container href | https://poc.test.kr:9311/v1/containers/ade69a1f-a929-4b8f-af26-0a981f8829c6 | | Name | tls_container1 | | Created | 2018-06-20 01:29:47+00:00 | | Status | ACTIVE | | Type | certificate | | Certificate | https://poc.test.kr:9311/v1/secrets/b4bee965-fe09-48f9-8b00-f29a845af101 | | Intermediates | None | | Private Key | https:// poc.test.kr:9311/v1/secrets/3c3ccb6f-2f27-4281-ad1b-d88991c261ed | | PK Passphrase | None | | Consumers | None | +----------------+---------------------------------------------------------------------------------+ • TERMINATED_HTTPS 리스너 구성 • Barbican에 인증서 구성
  • 40. Amphora 성능 테스트 파일크기 유형 동시요청 요청 횟수 총 소요시간 처리시간 초당 요청 전송속도 40B php 16 100 0.02 sec 3.74 ms 4,281 req/sec 0.76 MB/sec 40B php 16 1,000 0.02 sec 3.06 ms 5,224 req/sec 0.92 MB/sec 40B php 16 10,000 1.99 sec 3.18 ms 5,023 req/sec 0.89 MB/sec 100KB binary 16 100 0.04 sec 6.84 ms 2,339 req/sec 234.4 MB/sec 100KB binary 16 1,000 0.41 sec 6.61 ms 2,421 req/sec 242.7 MB/sec 100KB binary 16 10,000 4.01 sec 6.51 ms 2,457 req/sec 246.3 MB/sec 1MB binary 16 100 0.25 sec 40.71 ms 393 req/sec 402.6 MB/sec 1MB binary 16 1,000 2.60 sec 41.64 ms 384 req/sec 393.6 MB/sec 1MB binary 16 10,000 26.34 sec 42.14 ms 380 req/sec 388.8 MB/sec • 1core amphora로 http 성능은 최대 초당 5,200 request, 전송성능은 3.1Gbps 정도 파일크기 유형 동시요청 요청 횟수 총 소요시간 처리시간 초당 요청 전송속도 40B php 16 100 0.09 sec 13.81 ms 1,158 req/sec 0.20 MB/sec 40B php 16 1,000 0.79 sec 12.58 ms 1,271 req/sec 0.22 MB/sec 40B php 16 10,000 7.77 sec 12.43 ms 1,287 req/sec 0.23 MB/sec 100KB binary 16 100 0.14 sec 21.93 ms 729 req/sec 73.1 MB/sec 100KB binary 16 1,000 1.16 sec 18.64 ms 858 req/sec 86.0 MB/sec 100KB binary 16 10,000 10.78 sec 17.25 ms 927 req/sec 92.9 MB/sec 1MB binary 16 100 0.41 sec 65.66 ms 243 req/sec 249.6 MB/sec 1MB binary 16 1,000 4.23 sec 67.65 ms 236 req/sec 242.2 MB/sec 1MB binary 16 10,000 38.46 sec 61.54 ms 259 req/sec 266.3 MB/sec • 1core amphora로 https 성능은 최대 초당 1,200 request, 전송성능은 2.1Gbps 정도 (2K 인증서) ※ 환경에 따라 많은 차이가 발생할 수 있으므로, 이 결과는 단순 참고용으로만 생각해주시기 바랍니다 ※ apache bench를 이용한 테스트 결과입니다. $ ab -n 100 -c 16 https://192.168.100.45/index.php
  • 41. Octavia 릴리즈 Ver 0.5 (liberty) Ver 0.8 (mikata) Ver 0.9 (newton) Ver 1.0 (pike) Ver 2.0 (queens)Ver 0.10 (ocata) - 최초 릴리즈 - L7 Polices, rules - TERMINATED_HTTPS - Active/Standby - IPv6 - housekeeper - LBaaS 지원종료 결정 - 정식 릴리즈 - Octavia API v2.0 - TLS-HELLO - Anti-affinity - Monitor address 설정 - Amphora AZ - Amphora 생성 속도 조절 - RBAC - amphora endpoint - amphora failover - PKCS12 - 인증서 Castellan - Neutron QoS - Keystone api v3 - Quota - Policy.json - cent, ubuntu, fedora, rhel - PKCS7 PEM or DER for T_HTTPS
  • 42. Octavia 로드맵  Active/Active 구성 지원 (BGP Anycast 이용)  Provider driver 지원 (3rd party Provider 드라이버)  개별 Flavor 지원  UDP 로드밸런싱 지원 (LVS 드라이버)  백업 페이지나 “Sorry” 페이지 지원  백업 멤버 지원  ACL 지원  추가적인 부하분산 알고리즘 지원  추가적인 헬스 모니터 프로토콜 지원  Backend (Octavia to server) 암호화  CA 인증서 관리  컨텐츠 캐싱 지원  DDoS 방어 기능 지원  오픈스택 GSLB인 Kosmos와의 연계  DPDK, SRIOV, CPU pinning 등 지원  추가적인 L7 프로토콜 지원  다른 멤버의 상태 추적  향상된 로깅 옵션 지원 • Octavia 3.0 이후부터 지원할 예정인 기능들
  • 43. 43 감사합니다 궁금하신 점은 한국 오픈스택 커뮤니티 ( https://www.facebook.com/groups/openstack.kr/ )에 올려주세요