Chapitre 19. Opérateur DNS externe
19.1. Opérateur DNS externe dans OpenShift Container Platform
L'opérateur DNS externe déploie et gère ExternalDNS
pour fournir la résolution de nom pour les services et les routes du fournisseur DNS externe à OpenShift Container Platform.
19.1.1. Opérateur DNS externe
L'opérateur DNS externe met en œuvre l'API DNS externe du groupe d'API olm.openshift.io
. L'opérateur DNS externe déploie le site ExternalDNS
à l'aide d'une ressource de déploiement. Le déploiement ExternalDNS surveille les ressources telles que les services et les routes dans le cluster et met à jour les fournisseurs DNS externes.
Procédure
Vous pouvez déployer l'opérateur ExternalDNS à la demande depuis l'OperatorHub, ce qui crée un objet Subscription
.
Vérifier le nom d'un plan d'installation :
$ oc -n external-dns-operator get sub external-dns-operator -o yaml | yq '.status.installplan.name'
Exemple de sortie
install-zcvlr
Vérifier le statut d'un plan d'installation, le statut d'un plan d'installation doit être
Complete
:$ oc -n external-dns-operator get ip <install_plan_name> -o yaml | yq .status.phase'
Exemple de sortie
Complete
Utilisez la commande
oc get
pour visualiser l'état deDeployment
:$ oc get -n external-dns-operator deployment/external-dns-operator
Exemple de sortie
NAME READY UP-TO-DATE AVAILABLE AGE external-dns-operator 1/1 1 1 23h
19.1.2. Journaux de l'opérateur DNS externe
Vous pouvez consulter les journaux de l'opérateur DNS externe à l'aide de la commande oc logs
.
Procédure
Consulter les journaux de l'opérateur DNS externe :
$ oc logs -n external-dns-operator deployment/external-dns-operator -c external-dns-operator
19.1.2.1. Limitations du nom de domaine de l'opérateur DNS externe
L'opérateur DNS externe utilise le registre TXT, qui suit le nouveau format et ajoute le préfixe pour les enregistrements TXT. Cela réduit la longueur maximale du nom de domaine pour les enregistrements TXT. Un enregistrement DNS ne peut être présent sans un enregistrement TXT correspondant, de sorte que le nom de domaine de l'enregistrement DNS doit respecter la même limite que les enregistrements TXT. Par exemple, l'enregistrement DNS est <domain-name-from-source>
et l'enregistrement TXT est external-dns-<record-type>-<domain-name-from-source>
.
Le nom de domaine des enregistrements DNS générés par l'Opérateur DNS externe est soumis aux limitations suivantes :
Type d'enregistrement | Nombre de caractères |
---|---|
CNAME | 44 |
Enregistrements CNAME Wildcard sur AzureDNS | 42 |
A | 48 |
Enregistrements A Wildcard sur AzureDNS | 46 |
Si le nom de domaine généré par le DNS externe dépasse la limite de nom de domaine, l'instance DNS externe affiche l'erreur suivante :
oc -n external-dns-operator logs external-dns-aws-7ddbd9c7f8-2jqjh 1
- 1
- Le paramètre
external-dns-aws-7ddbd9c7f8-2jqjh
spécifie le nom du module DNS externe.
Exemple de sortie
time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE external-dns-cname-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io TXT [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]" time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE external-dns-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io TXT [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]" time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io A [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]" 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"