18.3. DNS가 포트에 할당하는 이름 지정
포트 확장(dns_domain_ports
)에 대해 RHOSP(Red Hat OpenStack Platform) 네트워킹 서비스(neutron) dns_domain을 활성화할 때 내부 DNS에서 포트에 할당된 이름을 지정할 수 있습니다.
YAML 형식의 환경 파일에서 RHOSP Orchestration(heat) NeutronPluginExtensions
매개변수를 선언하여 포트 확장에 대해 dns_domain을 활성화합니다. 해당 매개변수인 NeutronDnsDomain
을 사용하여 도메인 이름을 지정하여 기본값인 openstacklocal
을 덮어씁니다. 오버클라우드를 재배포한 후 OpenStack 클라이언트 포트 명령, 포트 세트 또는 포트
생성을
--dns-name
과 함께 사용하여 포트 이름을 할당할 수 있습니다.
또한 포트 확장의 dns_domain이 활성화되면 계산 서비스에서 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_ports에 대해 dns_domain
을 추가합니다.예제
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
검증
Overcloud에 로그인하고 네트워크(
공용
)에 새 포트(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
) 값에는NeutronDnsDomain
을 사용하여 이전에 설정한 DNS 이름(my_port
) 및 도메인 이름(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 | +-------------------------+----------------------------------------------+
계산 서비스는
dns_name
속성을 원래 값(my_port
)에서 포트가 연결된 인스턴스 이름(my_vm
)으로 변경합니다.
추가 리소스
- Advanced Overcloud Customization 가이드의 환경 파일
- Advanced Overcloud Customization 가이드 의 오버클라우드 생성 환경 파일 포함
- 명령줄 인터페이스 참조의 포트
- 명령줄 인터페이스 참조에서 서버 생성