4장. 통합 DNS 서비스 사용
이 섹션의 이 콘텐츠는 이 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 자세한 내용은 기술 프리뷰 를 참조하십시오.
Red Hat OpenStack Services on OpenShift(RHOSO) DNS 서비스(designate)는 Networking 서비스(neutron)와 통합되어 포트 및 Compute 서비스(nova), 가상 머신 인스턴스를 통해 포트를 위한 자동 레코드 세트 생성을 제공합니다.
클라우드 관리자는 DNS 서비스를 사용하여 네트워크에 연결된 영역을 생성합니다. 클라우드 관리자가 제공하는 이 네트워크를 사용하여 클라우드 사용자는 가상 머신 인스턴스, 포트 또는 유동 IP를 생성할 수 있으며 DNS 서비스는 필요한 DNS 레코드를 자동으로 생성합니다.
DNS 서비스를 배포하는 동안 Networking 서비스(neutron)는 확장 dns_domain_ports 를 로드합니다. 이 확장을 사용하면 RHOSO 포트, 네트워크 및 유동 IP에 다음 DNS 속성을 추가할 수 있습니다.
자세한 내용은 DNS 서비스 배포의 선택적 단계를 참조하십시오.
| 리소스 | DNS 이름 | DNS 도메인 (zone) |
|---|---|---|
| 포트 | 제공됨 | 제공됨 |
| 네트워크 | 없음 | 제공됨 |
| 부동 IP | 제공됨 | 제공됨 |
네트워크와 유동 IP 모두에 지정된 DNS 도메인의 경우 유동 IP의 포트에 있는 도메인이 네트워크에 설정된 도메인보다 우선합니다.
이 섹션에 포함된 항목은 다음과 같습니다.
4.1. DNS 통합을 위한 프로젝트 설정 링크 복사링크가 클립보드에 복사되었습니다!
RHOSO(Red Hat OpenStack Services on OpenShift) 클라우드 관리자는 클라우드 사용자가 가상 머신 인스턴스, 포트 또는 유동 IP를 생성할 때 지정해야 하는 필수 영역, 네트워크 및 서브넷을 만듭니다. RHOSO Networking 서비스(neutron)는 DNS 서비스(designate)와 통합되므로 클라우드 사용자가 이러한 오브젝트를 생성할 때 DNS 서비스에 자동으로 추가됩니다.
사전 요구 사항
-
oc명령줄 툴이 워크스테이션에 설치되어 있어야 합니다. -
cluster-admin권한이 있는 사용자로 RHOSO 컨트롤 플레인에 액세스할 수 있는 워크스테이션에 로그인되어 있습니다. -
포트 및 VM에 사용되는 네트워크에는
router:external속성이True로 설정될 수 없습니다. 네트워크를 생성할 때--external옵션을 지정할 수 없습니다. - 네트워크는 Cryostat, VLAN, GRE, VXLAN 또는 GENEVE 유형 중 하나여야 합니다.
VLAN, GRE, VXLAN 또는 GENEVE 네트워크의 경우 분할 ID는 네트워킹 서비스
ml2_conf.ini파일에 구성된 범위를 벗어나야 합니다.ml2_conf.ini파일은/etc/neutron/plugins/ml2/ml2_conf.ini의 컨트롤러 노드 호스트에 있습니다. 네트워크 세그먼트 ID 범위를 참조할 섹션 및 옵션을 확인하려면 다음 표를 사용합니다.Expand 표 4.2. 네트워크 분할 ID를 설정하는 데 사용되는 ml2_conf.ini 옵션 네트워크 유형 섹션 옵션 GENEVE
[ml2_type_geneve]
vni_ranges
GRE
[ml2_type_gre]
tunnel_id_ranges
VLAN
[ml2_type_vlan]
network_vlan_ranges
VXLAN
[ml2_type_vxlan]
vni_ranges
이러한 사전 요구 사항이 모두 충족되지 않으면 Networking 서비스에서 기본 dns_domain 값인 openstacklocal. 을 사용하여 내부 확인자에 DNS 할당을 생성합니다.
프로세스
워크스테이션에서 OpenStackClient Pod의 원격 쉘에 액세스합니다.
$ oc rsh -n openstack openstackclient특정 프로젝트의 사용자가 DNS 항목을 생성할 영역을 생성합니다.
예
이 예에서 클라우드 관리자는
example.com이라는 영역을 생성하고 프로젝트 ID인f75ec24a-d361-ab86-54c0-dfe6093245a3의 사용자에게 레코드 세트를 영역에 추가할 수 있는 권한을 갖도록 지정합니다.$ openstack zone create --email example@example.com example.com. --sudo-project-id f75ec24a-d361-ab86-54c0-dfe6093245a3참고DNS 도메인은 항상 FQDN(정규화된 도메인 이름)이어야 합니다. 즉, 항상 마침표로 끝납니다.
특정 프로젝트의 사용자가 DNS 항목을 생성할 네트워크를 생성합니다.
예
이 예에서 클라우드 관리자는 이전에 생성된 영역
생성합니다.example.com., 및 segmentation ID, 즉 ml2_conf.ini에 정의된 범위를 벗어나는 네트워크를$ openstack network create --dns-domain example.com. \ --provider-segment 2017 --provider-network-type geneve \ example-network네트워크에서 서브넷을 만듭니다.
예
이 예제에서 클라우드 관리자는 네트워크
example-network에 서브넷example-subnet을 생성합니다.$ openstack subnet create \ --allocation-pool start=192.0.2.10,end=192.0.2.200 \ --network example-network \ --subnet-range 192.0.2.0/24 \ example-subnet- 프로젝트의 클라우드 사용자에게 인스턴스, 포트, 유동 IP를 추가할 때 생성한 영역과 네트워크를 사용하도록 지시합니다.
인스턴스, 포트 또는 유동 IP를 생성하는 사용자에게 영역에 레코드 세트를 생성할 수 있는 권한이 없거나 영역이 DNS 서비스에 없는 경우 네트워킹 서비스는 다음을 수행합니다.
-
제공된
dns_domain을 사용하여dns_assignment필드를 사용하여 포트를 생성합니다. - DNS 서비스에 레코드 세트를 생성하지 않습니다.
- "외부 DNS 서비스에 포트 데이터를 게시하는 동안 오류가 발생했습니다."
검증
생성한 네트워크가 있는지 확인합니다.
예
$ openstack network show example-network샘플 출력
+---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2022-09-07T19:03:32Z | | description | | | dns_domain | example.com. | | id | 9ae5b3d5-f12c-4a67-b0e5-655d53cd4f7c | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | is_vlan_transparent | None | | mtu | 1450 | | name | example-network | | port_security_enabled | True | | project_id | f75ec24a-d361-ab86-54c0-dfe6093245a3 | | provider:network_type | geneve | | provider:physical_network | None | | provider:segmentation_id | 2017 | | qos_policy_id | None | | revision_number | 3 | | router:external | Internal | | segments | None | | shared | False | | status | ACTIVE | | subnets | 15546c9d-6faf-43aa-83e7-b1e705eed060 | | tags | | | updated_at | 2022-09-07T19:03:43Z | +---------------------------+--------------------------------------+