9.2. DNS가 포트에 할당하는 이름 지정
RHOSO(Red Hat OpenStack Services on OpenShift) 환경에서는 내부 DNS에서 포트에 할당된 이름을 지정할 수 있습니다. ML2 확장 드라이버, 포트의 DNS 도메인을 로드하여 네트워킹 서비스(neutron)에서 이 기능을 활성화합니다. dns_domain_ports.
드라이버를 로드한 후 OpenStack Client port 명령, 포트 세트 또는 포트 create를--dns-name 과 함께 사용하여 포트 이름을 할당할 수 있습니다.
DNS의 포트 확장(dns_domain_ports)에 대해 DNS 도메인을 활성화해야 RHOSO 환경의 포트 이름을 내부적으로 확인해야 합니다. NeutronDnsDomain 기본값인 openstacklocal 을 사용하면 네트워킹 서비스가 내부적으로 DNS의 포트 이름을 확인하지 않습니다.
또한 포트 확장의 DNS 도메인이 활성화되면 Compute 서비스는 VM 인스턴스를 부팅하는 동안 인스턴스의 hostname 속성으로 dns_name 속성을 자동으로 채웁니다. 부팅 프로세스가 끝나면 dnsmasq 는 인스턴스 호스트 이름으로 할당된 포트를 인식합니다.
사전 요구 사항
-
oc명령줄 툴이 워크스테이션에 설치되어 있어야 합니다. -
cluster-admin권한이 있는 사용자로 RHOSO 컨트롤 플레인에 액세스할 수 있는 워크스테이션에 로그인되어 있습니다.
프로세스
키 값 쌍
service_plugins=dns_domain_ports:을 사용하여 컨트롤 플레인을 업데이트합니다.$ oc patch -n openstack openstackcontrolplane openstack-galera-network-isolation --type=merge --patch " --- spec: neutron: template: customServiceConfig: | [ml2] extension_drivers=dns_domain_ports "참고dns_domain_ports를 설정하는 경우 배포에서 DNS 통합 확장 기능인dns_domain도 사용하지 않는지 확인합니다. 이러한 확장은 호환되지 않으며 두 확장을 동시에 정의할 수 없습니다.RHOSO 사용자는 이제 유동 IP에 대한 포트 전달을 설정할 수 있습니다.
검증
워크스테이션에서 OpenStackClient Pod의 원격 쉘에 액세스합니다.
$ oc rsh -n openstack openstackclientNetworking 서비스가
dns_domain_portsML2 확장 드라이버를 성공적으로 로드했는지 확인합니다.$ openstack extension list --network --max-width 75 | \ grep dns-domain-ports --os-cloud <cloud_name><cloud_name>을 명령을 실행 중인 클라우드 이름으로 바꿉니다.
샘플 출력
확인에 성공하면 다음과 유사한 출력이 생성됩니다.
| dns_domain for ports | dns-domain-ports | Allows the DNS domain to be specified for a network port.
네트워크(
public)에 새 포트(new_port)를 만듭니다. DNS 이름(my_port)을 포트에 할당합니다.예제
$ 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 서비스는
dns_name속성을 원래 값(my_port)에서 포트가 연결된 인스턴스 이름(my_vm)으로 변경합니다.openstackclientPod를 종료합니다.$ exit