18.3. DNS가 포트에 할당하는 이름 지정
포트 확장(dns_domain_ports)에 대해 RHOSP(Red Hat OpenStack Platform) Networking 서비스(neutron) dns_domain을 활성화하면 내부 DNS에서 포트에 할당된 이름을 지정할 수 있습니다.
YAML 형식의 환경 파일에서 RHOSP Orchestration(heat) NeutronPluginExtensions 매개변수를 선언하여 포트 확장을 위해 dns_domain을 활성화합니다. 해당 매개변수 NeutronDnsDomain 을 사용하여 도메인 이름을 지정하여 기본값 openstacklocal 을 덮어씁니다. 오버클라우드를 재배포한 후 OpenStack Client 포트 명령, 포트 세트 또는 를 포트 create--dns-name 과 함께 사용하여 포트 이름을 할당할 수 있습니다.
또한 포트 확장에 대한 dns_domain이 활성화되면 Compute 서비스에서 VM 인스턴스를 부팅하는 동안 인스턴스의 hostname 속성으로 dns_name 속성을 자동으로 채웁니다. 부팅 프로세스가 끝나면 dnsmasq는 인스턴스 호스트 이름으로 할당된 포트를 인식합니다.
절차
stack 사용자로 언더클라우드에 로그인하고
stackrc파일을 가져와 director 명령행 툴을 활성화합니다.예제
$ source ~/stackrc
사용자 지정 YAML 환경 파일(
my-neutron-environment.yaml)을 만듭니다.참고괄호 안에 있는 값은 다음 절차의 예제 명령에 사용되는 샘플 값입니다. 이러한 샘플 값을 사이트에 적합한 값으로 바꿉니다.
예제
$ vi /home/stack/templates/my-neutron-environment.yaml
작은 정보언더클라우드에는 오버클라우드 생성 계획을 구성하는 오케스트레이션 서비스 템플릿 세트가 포함되어 있습니다. 코어 오케스트레이션 서비스 템플릿 컬렉션의 매개변수와 리소스를 재정의하는 YAML 형식의 파일인 환경 파일을 사용하여 오버클라우드의 특정 부분을 사용자 지정할 수 있습니다. 환경 파일은 필요한 수만큼 추가할 수 있습니다.
환경 파일에서
parameter_defaults섹션을 추가합니다. 이 섹션에서는 포트 확장의 dns_domain_domains,dns_domain_ports를 추가합니다.예제
parameter_defaults: NeutronPluginExtensions: "qos,port_security,dns_domain_ports"
참고dns_domain_ports를 설정하는 경우 배포에서 DNS 통합 확장 기능인dns_domain도 사용하지 않는지 확인합니다. 이러한 확장은 호환되지 않으며 두 확장 모두 동시에 정의할 수 없습니다.또한
parameter_defaults섹션에서NeutronDnsDomain매개변수를 사용하여 도메인 이름(example.com)을 추가합니다.예제
parameter_defaults: NeutronPluginExtensions: "qos,port_security,dns_domain_ports" NeutronDnsDomain: "example.com"openstack overcloud deploy명령을 실행하고 코어 오케스트레이션 템플릿, 환경 파일 및 이 새 환경 파일을 포함합니다.중요후속 환경 파일에 정의된 매개 변수와 리소스가 우선하므로 환경 파일의 순서가 중요합니다.
예제
$ openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yaml
검증
오버클라우드에 로그인하고 네트워크(공용)에 새 포트(
new_port)를 만듭니다.DNS 이름(my_port)을 포트에 할당합니다.예제
$ source ~/overcloudrc $ openstack port create --network public --dns-name my_port new_port
포트(
new_port)에 대한 세부 정보를 표시합니다.예제
$ openstack port show -c dns_assignment -c dns_domain -c dns_name -c name new_port
출력 결과
+-------------------------+----------------------------------------------+ | Field | Value | +-------------------------+----------------------------------------------+ | dns_assignment | fqdn='my_port.example.com', | | | hostname='my_port', | | | ip_address='10.65.176.113' | | dns_domain | example.com | | dns_name | my_port | | name | new_port | +-------------------------+----------------------------------------------+
dns_assignment에서 포트의 정규화된 도메인 이름(fqdn) 값에는 DNS 이름(my_port) 및 이전에NeutronDnsDomain으로 설정한 도메인 이름(example.com)의 연결이 포함되어 있습니다.방금 생성한 포트(
new_port)를 사용하여 새 VM 인스턴스(my_vm)를 생성합니다.예제
$ openstack server create --image rhel --flavor m1.small --port new_port my_vm
포트(
new_port)에 대한 세부 정보를 표시합니다.예제
$ openstack port show -c dns_assignment -c dns_domain -c dns_name -c name new_port
출력 결과
+-------------------------+----------------------------------------------+ | Field | Value | +-------------------------+----------------------------------------------+ | dns_assignment | fqdn='my_vm.example.com', | | | hostname='my_vm', | | | ip_address='10.65.176.113' | | dns_domain | example.com | | dns_name | my_vm | | name | new_port | +-------------------------+----------------------------------------------+
Compute 서비스는 원래 값(
my_port)의dns_name속성을 포트가 연결된 인스턴스의 이름으로 변경합니다(my_vm).
추가 리소스
- Director 설치 및 사용 가이드의 환경 파일
- Director 설치 및 사용 가이드 의 오버클라우드 생성에 환경 파일 포함
- 명령줄 인터페이스 참조의 포트
- 명령줄 인터페이스 참조에서 서버 생성