Chapitre 19. Opérateur DNS externe
19.1. Opérateur DNS externe dans OpenShift Container Platform Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
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'
$ oc -n external-dns-operator get sub external-dns-operator -o yaml | yq '.status.installplan.name'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
install-zcvlr
install-zcvlr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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'
$ oc -n external-dns-operator get ip <install_plan_name> -o yaml | yq .status.phase'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Complete
Complete
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Utilisez la commande
oc get
pour visualiser l'état deDeployment
:oc get -n external-dns-operator deployment/external-dns-operator
$ oc get -n external-dns-operator deployment/external-dns-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY UP-TO-DATE AVAILABLE AGE external-dns-operator 1/1 1 1 23h
NAME READY UP-TO-DATE AVAILABLE AGE external-dns-operator 1/1 1 1 23h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.1.2. Journaux de l'opérateur DNS externe Copier lienLien copié sur presse-papiers!
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
$ oc logs -n external-dns-operator deployment/external-dns-operator -c external-dns-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.1.2.1. Limitations du nom de domaine de l'opérateur DNS externe Copier lienLien copié sur presse-papiers!
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
oc -n external-dns-operator logs external-dns-aws-7ddbd9c7f8-2jqjh
- 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"
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"