일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- openstack 호스트
- openstack 수동설치
- 오픈스택 스테인
- openstack stein
- openstack environment
- openstack hosting
- openstack설치
- openstackstein
- 오픈스택환경설정
- openstack placement
- esxi설치
- openstack rabbimq
- openstack 설치
- keystone stein
- 오픈스택 이미지 생성
- OpenStack
- 오픈스택 설치
- openstack 인스턴스
- openstack 네트워크
- openstack 환경설정
- 오픈스택
- openstack 키스톤
- openstack glance
- esxi설정
- 오프스택 플레이스먼트
- openstack ntp
- openstack keystone
- openstack step-by-step
- openstack nova
- openstack mysql
- Today
- Total
IT창고
OpenStack 네트워킹 서비스(Neutron) 본문
1) 네트워킹 서비스 개요
OpenStack 네트워킹 서비스인 Neutron 에서는 Openstack 의 다른 서비스와 통신할 수 있도록 인터페이스 디바이스를 생성하고 연결할 수 있다. 이러한 플러그인 구조는 OpenStack 아키텍쳐와 배포 방식에 유연성을 제공할 수 있는 다양한 네트워킹 장비와 소프트웨어의 조합으로 구현된다.
네트워킹 서비스 구성요소
① Neutron‐server
API 요청을 받아들이고, 이를 적절한 OpenStack 네트워킹 플러그인으로 전달하여 동작하도록 한다.
① OpenStack 네트워킹 플러그인과 에이전트
포트를 연결하거나 해제하며 네트워크와 서브넷을 생성하고 IP 주소를 제공한다. 이들 플러그인과 에이전트는 클라우드마다 공급업체와 기술에 따라 달라진다. OpenStack 네트워킹에는 Cisco 가상 스위치 및 물리적인 스위치, NEC OpenFlow 제품군, OpenvSwitch, 리눅스 브리지 및 VMware NSX 제품군을 위한 플러그인과 에이전트가 포함되어 있다. L3(layer 3), DHCP(dynamic host IP addressing) 및 플러그인 에이전트는 공용 에이전트로 제공된다.
② 메시징 큐
대부분의 OpenStack 네트워킹 설치에서 neutron‐server 와 다양한 에이전트 간의 정보 전달을 위해 사용된다. 이와 더불어, 특정 플러그인의 네트워킹 상태를 저장하는 데이터베이스로 동작한다.
OpenStack 네트워킹은 인스턴스에 네트워크를 제공하고 이를 연결하기 위해 주로 OpenStack 컴퓨트와 상호작용한다.
2) Controller Node 설치 및 구성
이 섹션에서는 컨트롤러 노드에 네트워킹 서비스인 Neutron 을 설치하고 구성하는 과정에 대해서 설명한다. 네트워킹 서비스는 옵션 2(셀프서비스 네트워킹)으로 구성할 것이다.
▶ 전제 조건
데이터베이스 접속 클라이언트를 사용하여 데이터베이스 서버에 root 로 로그인한다.
neutron 데이터베이스를 생성한다.
neutron 데이터베이스에 권한을 부여한다.
관리자 모드로 CLI 명령을 실행하기 위해 admin 인증 스크립트를 실행한다.
neutron 사용자를 생성한다.
neutron 사용자에 admin 역할을 부여한다.
neutron 서비스 엔티티를 생성한다.
public, internal, admin 세 가지의 서비스 API 엔드포인트를 생성한다.
▶ 네트워킹 옵션 2 : 셀프 서비스 네트워크
네트워킹 패키지를 설치한다.
/etc/neutron/neutron.conf 파일을 다음과 같이 수정한다.
[DEFAULT] transport_url = rabbit://openstack:It1@cont core_plugin = ml2 service_plugins = router allow_overlapping_ips = true notify_nova_on_port_status_changes = true notify_nova_on_port_data_changes = true auth_strategy = keystone
|
[database] connection = mysql+pymysql://neutron:It1@cont/neutron
|
[keystone_authtoken] www_authenticate_uri = http://cont:5000 auth_url = http://cont:5000 memcached_servers = cont:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = neutron password = It1
|
[oslo_concurrency] lock_path = /var/lib/neutron/tmp
|
가장끝줄에 입력 [nova] - 1062 auth_url = http://cont:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = nova password = It1
|
▶ Modular Layer 2(ML2) 플러그인 설정
ML2 플러그인은 인스턴스의 레이어‐2(브리징과 스위칭) 가상 네트워킹 인프라스트럭처로 리눅스 브리지 구조를 사용한다.
/etc/neutron/plugins/ml2/ml2_conf.ini 를 다음과 같이 수정한다.
[ml2] type_drivers = flat,vlan,vxlan tenant_network_types = vxlan mechanism_drivers = linuxbridge,l2population extension_drivers = port_security |
[ml2_type_flat] flat_networks = provider
|
[ml2_type_vxlan] vni_ranges = 1:1000
|
[securitygroup] enable_ipset = true
|
▶ 리눅스 브리지 에이전트 설정
리눅스 브리지 에이전트는 인스턴스의 레이어‐2(브리징과 스위칭) 가상 네트워킹 인프라스트럭처를 구성하고 시큐리티 그룹을 관리한다.
/etc/neutron/plugins/ml2/linuxbridge_agent.ini 파일을 다음과 같이 설정한다.
[linux_bridge] physical_interface_mappings = provider:ens33
|
[vxlan] enable_vxlan = true local_ip = 1.0.0.1 l2_population = true
|
[securitygroup] enable_security_group = true firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver //OVSHybridIptablesFirewallDriver : openvswith사용시사용
|
▶ Layer‐3 에이전트 설정
Layer‐3(L3) 에이전트는 셀프서비스 가상 네트워크의 라우팅과 NAT 서비스를 제공한다.
/etc/neutron/l3_agent.ini 파일을 다음과 같이 수정한다.
[DEFAULT] interface_driver = linuxbridge |
▶ DHCP 에이전트 설정
DHCP 에이전트는 셀프서비스 가상 네트워크에 DHCP 서비스를 제공한다.
/etc/neutron/dhcp_agent.ini 파일을 다음과 같이 수정한다.
[DEFAULT] interface_driver = linuxbridge dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = true |
▶메타데이터 에이전트 설정
메타데이터 에이전트는 인스턴스의 인증과 같은 구성 정보를 제공한다.
/etc/neturon/metadata_agent.ini 를 다음과 같이 수정한다.
[DEFAULT] nova_metadata_host = cont metadata_proxy_shared_secret = It1 |
▶ 네트워킹 사용을 위한 컴퓨트 서비스 설정
/etc/nova/nova.conf 파일을 다음과 같이 수정하여 컴퓨트 서비스가 네트워킹을 사용할 수 있도록 한다.
[neutron] url = http://cont:9696 service_metadata_proxy = true metadata_proxy_shared_secret = It1 auth_type = password auth_url = http://cont:5000 project_name = service project_domain_name = default username = neutron user_domain_name = default password = It1 region_name = RegionOne |
▶ 설치완료
네트워킹 서비스 초기화 스크립트를 위해 /etc/neutron/plugin.ini 파일이 ML2 플러그인 설정 파일인 /etc/neutron/plugins/ml2/ml2_conf.ini 파일을 가리키도록 심볼릭 링크가 되어 있어야한다.
데이터베이스를 채워준다.
컴퓨트 API 서비스를 재시작한다.
네트워킹 서비스를 시작하고 시스템 시작시에 자동으로 시작되도록 설정한다.
셀프 네트워킹 서비스를 사용했을 경우에는 레이어 3 서비스도 활성화 시켜야 한다.
3) Compute Node 설치 및 구성
컴퓨트 노드는 인스턴스의 연결과 시큐리티 그룹을 처리한다. 네트워킹 옵션 2 를 사용하여 컨트롤러 노드를 구성하였으므로, 이 섹션에서는 컴퓨트 노드에서 셀프 서비스 네트워킹을 설치하고 구성하는 과정을 설명한다.
▶ 구성 요소 설치
패키지를 설치한다.
▶ 공통 구성요소 설정
/etc/neutron/neutron.conf 파일을 다음과 같이 수정한다.
[DEFAULT] transport_url = rabbit://openstack:It1@cont auth_strategy = keystone |
[keystone_authtoken] www_authenticate_uri = http://cont:5000 auth_url = http://cont:5000 memcached_servers = cont:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = neutron password = It1
|
[oslo_concurrency] lock_path = /var/lib/neutron/tmp
|
▶ 리눅스 브리지 에이전트 설정
/etc/neutron/plugins/ml2/linuxbridge_agent.ini 파일을 다음과 같이 설정한다.
[linux_bridge] physical_interface_mappings = provider:ens33
|
[vxlan] enable_vxlan = true local_ip = 1.0.0.2 l2_population = true
|
[securitygroup] enable_security_group = true firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver //OVSHybridIptablesFirewallDriver : openvswith사용시사용
|
▶ 네트워킹 사용을 위한 컴퓨트 서비스 설정
/etc/nova/nova.conf 파일을 다음과 같이 수정하여 컴퓨트 서비스가 네트워킹을 사용할 수 있도록 한다.
[neutron] url = http://cont:9696 service_metadata_proxy = true metadata_proxy_shared_secret = It1 auth_type = password auth_url = http://cont:5000 project_name = service project_domain_name = default username = neutron user_domain_name = default password = It1 region_name = RegionOne |
▶ 설치완료
컴퓨트 서비스를 재시작한다.
리눅스 브릿지 에이전트를 시작하고 시스템 시작시에 자동으로 시작되도록 설정한다.
4) 작동 확인
▶ 컨트롤러 노드에서 명령을 수행할 것
관리자 모드로 CLI 명령을 실행하기 위해 admin 인증 스크립트를 실행한다.
중성자 에이전트의 성공적인 시작을 확인하기 위해 에이전트를 나열한다. 출력은 컨트롤러 노드에 4 개의 에이전트와 각 계산 노드에 1 개의 에이전트를 표시해야한다.
'OpenStack' 카테고리의 다른 글
OpenStack 블록 스토리지 서비스(Cinder) (0) | 2019.10.15 |
---|---|
OpenStack 대시보드(Horizon) (0) | 2019.10.11 |
OpenStack 컴퓨팅 서비스(Nova) (0) | 2019.10.11 |
OpenStack 배치 서비스(Placement) (0) | 2019.10.11 |
OpenStack 이미지 생성(Glance) (0) | 2019.10.11 |