5.3.2. 외부 DNS Operator 이해
외부 DNS 공급자에서 OpenShift Container Platform으로 서비스 및 경로에 대한 이름 확인을 제공하려면 외부 DNS Operator를 사용합니다. 이 Operator는 ExternalDNS 를 배포 및 관리하여 클러스터 리소스를 외부 공급자와 동기화합니다.
5.3.2.1. 외부 DNS Operator 도메인 이름 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
ExternalDNS 리소스를 배포할 때 구성 오류를 방지하려면 외부 DNS Operator에서 적용하는 도메인 이름 제한 사항을 검토하십시오. 이러한 제약 조건을 이해하면 요청된 호스트 이름 및 도메인이 기본 DNS 공급자와 호환됩니다.
외부 DNS Operator는 TXT 레코드에 대한 접두사를 추가하는 TXT 레지스트리를 사용합니다. 이렇게 하면 TXT 레코드의 도메인 이름의 최대 길이가 줄어듭니다. 해당 TXT 레코드 없이는 DNS 레코드가 존재할 수 없으므로 DNS 레코드의 도메인 이름은 TXT 레코드와 동일한 제한을 따라야 합니다. 예를 들어 < domain_name_from_source >의 DNS 레코드는 external-dns-<record_type>-<domain_name_from_source >의 TXT 레코드를 생성합니다.
외부 DNS Operator에서 생성한 DNS 레코드의 도메인 이름에는 다음과 같은 제한 사항이 있습니다.
| 레코드 유형 | 문자 수 |
|---|---|
| CNAME | 44 |
| AzureDNS의 와일드카드 CNAME 레코드 | 42 |
| A | 48 |
| AzureDNS의 와일드카드 레코드 | 46 |
다음 오류는 생성된 도메인 이름이 도메인 이름 제한 사항을 초과하는 경우 외부 DNS Operator 로그에 표시됩니다.
time="2022-09-02T08:53:57Z" level=error msg="Failure in zone test.example.io. [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]"
time="2022-09-02T08:53:57Z" level=error msg="InvalidChangeBatch: [FATAL problem: DomainLabelTooLong (Domain label is too long) encountered with 'external-dns-a-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc']\n\tstatus code: 400, request id: e54dfd5a-06c6-47b0-bcb9-a4f7c3a4e0c6"