[Openstack #2] Mac OS에서 오픈스택(Mitaka v6) 환경 구성 - Multi-node Openstack POC(개념증명)
Openstack Mitaka 최종본(v6) 설치 및 설정 종합본
- 참고(지난 Openstack #1 편): [Openstack #1] Mac OS에서 오픈스택(Mitaka v5) 환경 구성 ......
본 편의 도입 및 준비 부분은, 위의 지난 2016년 9월에 #1 편에서 다뤘던 Mitaka v5 버전 내용을 그 근간으로 한다. Mitaka v5 는 지난 2016년 6월에 출시된 이후 거의 몇 일 ~ 몇 주 단위로 활발하게 수정 변경되어 11월 9일에 최종 버전인 v6 가 릴리즈되어 있다. 참고로 CentOS 계열(Redhat, CentOS, Fedora)을 위한 디플로이 도구인 Packstack 의 Mitaka 를 위한 버전은 다음 그림에서 보다시피 v5, v6 만 존재하고 있다.
지난 9월의 계획에서는 2016년 10월 릴리즈 예정이었던 Newton 버전을 설치하고 검증하는 과정을 다루려고 했으나, 릴리즈 직후에 한 번 시험삼아 설치해 보니 지나치게 불안정한 면이 커서, 현 시점의 안정적인 Mitaka 최종 버전을 따로 정리해 두는 편이 나을 듯 하여 급하게 본 포스팅을 구성해 보려 한다.
- 설치 준비 과정 이후의 상세 내용
전 편의 1~5 섹션까지 내용은 그대로 사용하는 것으로 하고, 이후의 섹션 6부터 전 편의 보충 형식으로 써내려 간다. 결론적으로는, 오픈스택 Mitaka 버전을 설치, 설정하기 위해서는 지난 #1편(1~5섹션)과 본 #2편(6섹션 이후)를 연이어서 참고하면 되지 않을까 하는 생각이다.
6. 오픈스택 설치를 위한 각 노드들의 패키지 설정
- 각 노드의 리포지토리를 변경하고 필수 패키지 설정
이미 위에서 언급했다시피, 다수의 의존성 패키지를 따로 설치하지 않고 yum update -y 를 통해 최신 패키지 업데이트를 진행한 다음 Openstack v6 를 따로 다운로드 설치하는 과정을 아래에 써내려 간다. 역시 Mitaka의 최종 버전이니만큼 비교적 안정적이고 오류 없이 잘 진행됨을 확인하였다(9월버전 v5에서 오류가 발생하였던 lbaas 포함 설치도 v6에서는 오류 없이 잘 진행됨).
# yum update -y
# yum install -y net-tools
# yum install -y wget
- 각 노드의 /etc/hosts 파일에 다음의 3개 라인을 추가
10.10.10.6 openstack-ctrl
10.10.10.7 openstack-net
10.10.10.8 openstack-cmp1
- 마찬가지로 각 3개 노드에서 보안 등 각종 관리패키지를 오픈스택 설치가 가능해 지도록 구성
# systemctl disable firewalld
# systemctl stop firewalld
# systemctl disable NetworkManager
# systemctl stop NetworkManager
# yum remove -y NetworkManager
# systemctl enable network
# systemctl start network
7. Packstack 으로 Openstack 자동 설치하기
Packstack은 Controller 노드에서 answer 파일을 읽어 들여서 자신을 포함하여 하위 노드(Network 노드, Compute 노드들)에서 각종 소프트웨어들을 설치/설정하는 스크립트를 단계적으로 실행해 주는 역할을 한다(Redhat 제공 RDO 프로젝트 참고: www.rdoproject.org). 이를 위해 각 하위 노드에 암호 없이 접속이 가능해야 한다.
- Controller 노드에서 각 노드로 Passwordless ssh 설정
[root@openstack-ctrl ~]# ssh-keygen
[root@openstack-ctrl ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.7
[root@openstack-ctrl ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.8
#--> 암호 없이 정상적으로 접속되는지 확인
[root@openstack-ctrl ~]# ssh openstack-net
[root@openstack-ctrl ~]# ssh openstack-cmp1
- Packstack repo 설정 및 설치 시작
[root@openstack-ctrl ~]# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
[root@openstack-ctrl ~]# yum install -y openstack-packstack
...
[root@openstack-ctrl ~]# yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-mitaka/rdo-release-mitaka-6.noarch.rpm
[root@openstack-ctrl ~]# yum update -y
[root@openstack-ctrl ~]# yum install -y openstack-packstack
[root@openstack-ctrl ~]# su - stack
[stack@openstack-ctrl ~]# sudo packstack --gen-answer-file=answer.txt
[stack@openstack-ctrl ~]# sudo vi answer.txt
[general]
...
# 개별 항목에 자동 적용 되는 공통 암호
CONFIG_DEFAULT_PASSWORD=openstack
# 여기서는 사용하지 않음
CONFIG_MANILA_INSTALL=n
# 여기서는 사용하지 않음
CONFIG_SWIFT_INSTALL=n
# 미터링 패키지 설치
CONFIG_CEILOMETER_INSTALL=y
# 여기서는 사용하지 않음
CONFIG_AODH_INSTALL=n
# 여기서는 사용하지 않음
CONFIG_GNOCCHI_INSTALL=n
# 여기서는 사용하지 않음
CONFIG_SAHARA_INSTALL=n
# 오케스트레이션을 위한 패키지 설치
CONFIG_HEAT_INSTALL=y
# 여기서는 사용하지 않음
CONFIG_IRONIC_INSTALL=n
# ntp 시간동기화는 수동 설치 및 설정
CONFIG_NTP_SERVERS=
# 여기서는 사용하지 않음
CONFIG_NAGIOS_INSTALL=n
# API 서비스 패키지 등이 설치되는 Controller 노드
CONFIG_CONTROLLER_HOST=10.10.10.6
# Compute 서비스 패키지들이 설치되는 노드
CONFIG_COMPUTE_HOSTS=10.10.10.8
# Compute networking (nova network) 또는 OpenStack Networking (neutron) 이 설치 되는 Network 노드
CONFIG_NETWORK_HOSTS=10.10.10.7
# AMQP 서비스 설치 노드(여기서는 Controller 노드)
CONFIG_AMQP_HOST=10.10.10.6
# 기본 DB인 MariaDB 설치 노드(여기서는 Controller 노드)
CONFIG_MARIADB_HOST=10.10.10.6
# MariaDB 관리자 계정 암호
CONFIG_MARIADB_PW=openstack
# Keystone DB 암호
CONFIG_KEYSTONE_DB_PW=openstack
# Identity 서비스 admin 계정 암호
CONFIG_KEYSTONE_ADMIN_PW=openstack
# Identity service demo 계정 암호
CONFIG_KEYSTONE_DEMO_PW=openstack
# Glance DB 암호
CONFIG_GLANCE_DB_PW=openstack
# Glance Identity service 암호
CONFIG_GLANCE_KS_PW=openstack
# Nova DB 암호
CONFIG_NOVA_DB_PW=openstack
# Nova Identity service 암호
CONFIG_NOVA_KS_PW=openstack
# Neutron Identity service 암호
CONFIG_NEUTRON_KS_PW=openstack
# Neutron DB 암호
CONFIG_NEUTRON_DB_PW=openstack
# Neutron L3 의 External OVS bridge 지정(비워 두면 default로 linuxbridge)
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
# OpenStack Networking metadata agent 암호.
CONFIG_NEUTRON_METADATA_PW=openstack
# OpenStack Networking's Load-Balancing-as-a-Service (LBaaS) 설치 여부
CONFIG_LBAAS_INSTALL=y
# OpenStack Networking's L3 Metering agent 설치 여부
CONFIG_NEUTRON_METERING_AGENT_INSTALL=y
# neutron.ml2.type_drivers 로 사용할 드라이버 지정. comma 로 구분 ['local','flat', 'vlan', 'gre', 'vxlan']
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan
# Tenant network로 사용할 network type을 순서대로 지정. comma 로 구분 ['local', 'vlan', 'gre', 'vxlan']
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
# neutron.ml2.mechanism_drivers 로 로딩할 메커니즘 드라이버 지정. comma 로 구분
# ['logger', 'test', 'linuxbridge', 'openvswitch', 'hyperv', 'ncs', 'arista', 'cisco_nexus', 'mlnx', 'l2population', 'sriovnicswitch']
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
# OpenStack Networking으로 사용할 L2 agent 지정 ['linuxbridge', 'openvswitch']
CONFIG_NEUTRON_L2_AGENT=openvswitch
# HEAT DB 암호
CONFIG_HEAT_DB_PW=openstack
# HEAT Identity service 암호
CONFIG_HEAT_KS_PW=openstack
# HEAT Identity domain 관리자 암호
CONFIG_HEAT_DOMAIN_PASSWORD=openstack
# Provisioning 테스트를 위한 demo 설치 여부
CONFIG_PROVISION_DEMO=y
# Ceilometer Identity service 암호
CONFIG_CEILOMETER_KS_PW=openstack
# MongoDB 설치 서버(여기서는 Controller 노드)
CONFIG_MONGODB_HOST=10.10.10.6
# Redis master server
CONFIG_REDIS_MASTER_HOST=10.10.10.6
[stack@openstack-ctrl ~]# sudo packstack --answer-file=answer.txt
Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20161209-052810-KZtyhp/openstack-setup.log
Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
root@10.10.10.6's password:
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Adding pre install manifest entries [ DONE ]
Setting up CACERT [ DONE ]
Adding AMQP manifest entries [ DONE ]
Adding MariaDB manifest entries [ DONE ]
Adding Apache manifest entries [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Adding Keystone manifest entries [ DONE ]
Adding Glance Keystone manifest entries [ DONE ]
Adding Glance manifest entries [ DONE ]
Adding Nova API manifest entries [ DONE ]
Adding Nova Keystone manifest entries [ DONE ]
Adding Nova Cert manifest entries [ DONE ]
Adding Nova Conductor manifest entries [ DONE ]
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
Adding Nova Compute manifest entries [ DONE ]
Adding Nova Scheduler manifest entries [ DONE ]
Adding Nova VNC Proxy manifest entries [ DONE ]
Adding OpenStack Network-related Nova manifest entries[ DONE ]
Adding Nova Common manifest entries [ DONE ]
Adding Neutron VPNaaS Agent manifest entries [ DONE ]
Adding Neutron FWaaS Agent manifest entries [ DONE ]
Adding Neutron LBaaS Agent manifest entries [ DONE ]
Adding Neutron API manifest entries [ DONE ]
Adding Neutron Keystone manifest entries [ DONE ]
Adding Neutron L3 manifest entries [ DONE ]
Adding Neutron L2 Agent manifest entries [ DONE ]
Adding Neutron DHCP Agent manifest entries [ DONE ]
Adding Neutron Metering Agent manifest entries [ DONE ]
Adding Neutron Metadata Agent manifest entries [ DONE ]
Adding Neutron SR-IOV Switch Agent manifest entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
Adding OpenStack Client manifest entries [ DONE ]
Adding Horizon manifest entries [ DONE ]
Adding Heat manifest entries [ DONE ]
Adding Provisioning manifest entries [ DONE ]
Adding Provisioning Glance manifest entries [ DONE ]
Adding Provisioning Demo bridge manifest entries [ DONE ]
Adding MongoDB manifest entries [ DONE ]
Adding Redis manifest entries [ DONE ]
Adding Ceilometer manifest entries [ DONE ]
Adding Ceilometer Keystone manifest entries [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 10.10.10.8_prescript.pp
Applying 10.10.10.7_prescript.pp
Applying 10.10.10.6_prescript.pp
10.10.10.7_prescript.pp: [ DONE ]
10.10.10.8_prescript.pp: [ DONE ]
10.10.10.6_prescript.pp: [ DONE ]
Applying 10.10.10.6_amqp.pp
Applying 10.10.10.6_mariadb.pp
10.10.10.6_amqp.pp: [ DONE ]
10.10.10.6_mariadb.pp: [ DONE ]
Applying 10.10.10.6_apache.pp
10.10.10.6_apache.pp: [ DONE ]
Applying 10.10.10.6_keystone.pp
Applying 10.10.10.6_glance.pp
10.10.10.6_keystone.pp: [ DONE ]
10.10.10.6_glance.pp: [ DONE ]
Applying 10.10.10.6_api_nova.pp
10.10.10.6_api_nova.pp: [ DONE ]
Applying 10.10.10.6_nova.pp
Applying 10.10.10.8_nova.pp
Applying 10.10.10.7_neutron.pp
10.10.10.6_nova.pp: [ DONE ]
10.10.10.7_neutron.pp: [ DONE ]
10.10.10.8_nova.pp: [ DONE ]
Applying 10.10.10.8_neutron.pp
Applying 10.10.10.6_neutron.pp
10.10.10.8_neutron.pp: [ DONE ]
10.10.10.6_neutron.pp: [ DONE ]
Applying 10.10.10.6_osclient.pp
Applying 10.10.10.6_horizon.pp
10.10.10.6_osclient.pp: [ DONE ]
10.10.10.6_horizon.pp: [ DONE ]
Applying 10.10.10.6_heat.pp
10.10.10.6_heat.pp: [ DONE ]
Applying 10.10.10.6_provision.pp
Applying 10.10.10.6_provision_glance
10.10.10.6_provision.pp: [ DONE ]
10.10.10.6_provision_glance: [ DONE ]
Applying 10.10.10.7_provision_bridge.pp
10.10.10.7_provision_bridge.pp: [ DONE ]
Applying 10.10.10.6_mongodb.pp
Applying 10.10.10.6_redis.pp
10.10.10.6_mongodb.pp: [ DONE ]
10.10.10.6_redis.pp: [ DONE ]
Applying 10.10.10.6_ceilometer.pp
10.10.10.6_ceilometer.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
**** Installation completed successfully ******
Additional information:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 10.10.10.6. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://10.10.10.6/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* Because of the kernel update the host 10.10.10.8 requires reboot.
* Because of the kernel update the host 10.10.10.7 requires reboot.
* Because of the kernel update the host 10.10.10.6 requires reboot.
* The installation log file is available at: /var/tmp/packstack/20161209-052810-KZtyhp/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20161209-052810-KZtyhp/manifests
8. Network 노드 - Neutron 네트워크(OVS bridge) 인터페이스 설정 확인
#1 편에서 수동으로 설정해 주어야 했던 Network 노드의 외부 bridge 인터페이스(br-ex)와 enp0s9 의 브리지 포트 연결이, Mitaka v6에서는 자동으로 이루어짐을 볼 수 있다. 다음의 결과를 확인해 보자
- Network 노드 브리지 인터페이스 설정 확인
[root@openstack-net ~]# ifconfig
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.7 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::8464:32ff:fe27:304f prefixlen 64 scopeid 0x20<link>
ether 08:00:27:bd:a3:bd txqueuelen 0 (Ethernet)
RX packets 138 bytes 21542 (21.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 59 bytes 6843 (6.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::a00:27ff:febd:a3bd prefixlen 64 scopeid 0x20<link>
ether 08:00:27:bd:a3:bd txqueuelen 1000 (Ethernet)
RX packets 412 bytes 84303 (82.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 71 bytes 9555 (9.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
...
이제 ifcfg-br-ex, ifcfg-enp0s9 인터페이스도 확인해 보자
[root@openstack-net ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.0.7
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1
DEFROUTE=yes
ONBOOT=yes
NM_CONTROLLED=no
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
[root@openstack-net ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s9
DEVICE=enp0s9
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
ONBOOT=yes
NM_CONTROLLED=no
IPV6INIT=no
[root@openstack-net ~]# ovs-vsctl show
fd89eff3-c539-4250-8922-854f550124bc
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Port "qg-05c23c0b-11"
Interface "qg-05c23c0b-11"
type: internal
Port "enp0s9"
Interface "enp0s9"
Bridge br-int
fail_mode: secure
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "qr-02fc6bc6-04"
tag: 1
Interface "qr-02fc6bc6-04"
type: internal
Port br-int
Interface br-int
type: internal
Port "tap44e6cf82-31"
tag: 1
Interface "tap44e6cf82-31"
type: internal
Bridge br-tun
fail_mode: secure
Port "vxlan-0a0a0a08"
Interface "vxlan-0a0a0a08"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="10.10.10.7", out_key=flow, remote_ip="10.10.10.8"}
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port br-tun
Interface br-tun
type: internal
ovs_version: "2.5.0"
Open vSwitch 의 브리지 인터페이스를 조회해 보면, br-ex 브리지에 br-ex 포트와 enp0s9 포트가 연결되어 있음을 볼 수 있다.
Controller 노드의 환경변수 설정 스크립트 복사
- Network 노드, Compute 노드에서 CLI 명령 실행이 필요할 경우에 대비하여 스크립트 복사
Controller 노드의 keystonerc 관련 파일들을 다음과 같이 Network 노드, Compute 노드에 복사해 둔다
[root@openstack-ctrl ~]# scp keystonerc_* root@openstack-net:~
[root@openstack-ctrl ~]# scp keystonerc_* root@openstack-cmp1:~
9. Horizon 웹을 통해 Cloud 플랫폼 사용 준비 과정
- Horizon 웹 UI 사용 준비 - 클라우드 네트워크 설정
시스템 구성도의 Admin VM에 해당하는 VM에서, firefox 웹브라우저를 통해 http://10.10.10.6으로 접속, admin 계정과 answer.txt 에서 지정한 암호를 통해 로그인
tenant 서비스를 위해서 demo 프로젝트를 사용한다고 가정했을 때, 해당 프로젝트에서 사용할 네트워크를 생성, 설정하는 과정을 다음과 같이 진행한다.
System->Routers 페인, 라우터 목록에서 router1 삭제
System->Networks 페인, 사용하지 않는 네트워크(public_subnet) 을 삭제
networks 패널에서, '+Create Network' 을 선택하고 admin 프로젝트에 대해 public 네트워크를 새로이 생성(본 케이스에서는 vxlan 방식, shared - External network).
Subnet Detail 에서는, 네트워크 내부에 DHCP 서버(iptime 공유기)가 존재하므로, Enable DHCP 는 해제하고, 할당 가능한 IP 범위를 입력
admin 계정을 로그아웃하고, tenant 서비스를 설정/사용하기 위한 demo 계정으로 로그인
앞에서 admin 을 통해 생성, 설정한 네트워크를 사용하기 위해, 왼쪽 메뉴에서 Project->Network->Router 패널을 선택하고 '+Create Router' 을 클릭하여 demo 프로젝트에서 사용할 라우터를 생성. External Network 항목에 대해, 앞서 생성했던 public 네트워크를 선택
'+Add Interface' 클릭을 통해, 앞서 생성한 사설 네트워크와의 연결을 위한 인터페이스를 추가
좌측 메뉴의 Network 패널에서 Network Topology 를 선택하여 현재 구성된 네트워크의 구조를 확인한다. 여기까지 성공적으로 진행하였다면 클라우드 환경을 본격적으로 사용하기 위한 전체 설정 과정은 완료한 것이며, 다음의 필수 준비과정 몇 가지를 거치면 모든 준비가 끝나고 VM을 생성, 관리할 수 있는 요건을 갖추게 되었다.
11. VM 인스턴스 생성 관리를 위한 준비 & 실행 단계
- security Group 생성 확인
Compute->Access & Security->Security Group
시스템에 디폴트로 적용되는 Security Group 이 이미 생성되어 있다. 필요시 별도로 생성하여 사용하면 됨.
- Key Pair 생성
Compute->Access & Security->Key Pairs->Create Key Pair, pem 파일 다운로드 및 보관
- Floating IP 생성
Floating IP를 할당 필요한 갯수만큼 할당 받는다
- VM Image 확인
Openstack 에 포함된 테스트용 초소형 OS image(12MB) 외에도, Ubuntu Cloud image 사이트나 CentOS cloud image 사이트 등에서 다운로드 받아 두고, Openstack image로 업로드(admin 계정으로)해서 사용할 수 있다
- VM instance 생성
- Ubuntu VM instance 생성하고 접속하기
별도의 전용 Security Group 을 생성해 둔다
Ubuntu VM을 만들기 위한 Flavor 템플릿을 생성해 둔다(admin 계정)
새로이 Ubuntu VM Instance 를 생성하고, 앞에서 할당해 두었던 Floating IP 들 중에서 하나를 선택하여 Associate 를 클릭하면 VM의 내부 사설 port(10.0.0.*) 과 Floating IP가 연결된다
Ubuntu VM 에 연결된 Floating IP 로 ping 테스트와 ssh 접속을 수행해 본다
12. LBaas(LB As A Service) 의 설정과 테스트
- Haproxy Load Balancer 사용을 위한 준비
새로운 VM과 LB에 할당할 Floating IP 를 추가한다
LB pool 에 할당할 새로운 Ubuntu VM 을 생성해 둔다
LB pool 에 포함될 VM 들에 접속하여 nginx 패키지를 설치한다(외부 접속을 위해 /etc/resolv.conf 에 nameserver 를 추가하고, apt-get update 를 한 이후, apt-get install nginx 로 패키지 설치). 설치 이후 curl http://localhost 로 자체 접속 테스트.
각 VM의 웹서버에 80 port 로 접속이 가능하도록, 기존의 Security Group에 새로운 Rule 을 추가한다
VM들의 웹서버에 접속이 가능한지 웹브라우저를 통해 각각 접속해 본다
Network->Load Balancer, +Add Pool 클릭 및 저장 후,
Add VIP 선택
IP address에는 VM의 사설 IP 대역에 해당하는 IP를 입력. Connection Limit 는 -1 또는 제한되는 연결 갯수 입력 & 저장
Associate Floating IP 선택.
미리 준비한 Floating IP를 선택하고 Associate 클릭 & 저장
Members 탭 선택, +Add Member 클릭
Add Member 클릭. Pool 선택 & 대상 VM, port 번호 등 설정
웹브라우저에서 LB VIP로 접속하여 확인 완료
- Barracuda -