19.4. Création d'enregistrements DNS sur AWS
Vous pouvez créer des enregistrements DNS sur AWS et AWS GovCloud en utilisant l'opérateur DNS externe.
19.4.1. Création d'enregistrements DNS sur une zone publique hébergée pour AWS à l'aide de l'Opérateur DNS Externe de Red Hat
Vous pouvez créer des enregistrements DNS sur une zone hébergée publique pour AWS en utilisant l'Opérateur DNS externe de Red Hat. Vous pouvez utiliser les mêmes instructions pour créer des enregistrements DNS sur une zone hébergée pour AWS GovCloud.
Procédure
Vérifiez l'utilisateur. L'utilisateur doit avoir accès à l'espace de noms
kube-system
. Si vous n'avez pas les informations d'identification, vous pouvez les récupérer dans l'espace de nomskube-system
pour utiliser le client du fournisseur de cloud :$ oc whoami
Exemple de sortie
system:admin
Récupérer les valeurs du secret aws-creds présent dans l'espace de noms
kube-system
.$ export AWS_ACCESS_KEY_ID=$(oc get secrets aws-creds -n kube-system --template={{.data.aws_access_key_id}} | base64 -d) $ export AWS_SECRET_ACCESS_KEY=$(oc get secrets aws-creds -n kube-system --template={{.data.aws_secret_access_key}} | base64 -d)
Obtenir les itinéraires pour vérifier le domaine :
$ oc get routes --all-namespaces | grep console
Exemple de sortie
openshift-console console console-openshift-console.apps.testextdnsoperator.apacshift.support console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.testextdnsoperator.apacshift.support downloads http edge/Redirect None
Obtenir la liste des zones DNS pour trouver celle qui correspond au domaine de la route trouvée précédemment :
$ aws route53 list-hosted-zones | grep testextdnsoperator.apacshift.support
Exemple de sortie
HOSTEDZONES terraform /hostedzone/Z02355203TNN1XXXX1J6O testextdnsoperator.apacshift.support. 5
Créer une ressource
ExternalDNS
pour une sourceroute
:$ cat <<EOF | oc create -f - apiVersion: externaldns.olm.openshift.io/v1beta1 kind: ExternalDNS metadata: name: sample-aws 1 spec: domains: - filterType: Include 2 matchType: Exact 3 name: testextdnsoperator.apacshift.support 4 provider: type: AWS 5 source: 6 type: OpenShiftRoute 7 openshiftRouteOptions: routerName: default 8 EOF
- 1
- Définit le nom de la ressource DNS externe.
- 2
- Par défaut, toutes les zones hébergées sont sélectionnées comme cibles potentielles. Vous pouvez inclure une zone hébergée dont vous avez besoin.
- 3
- La correspondance du domaine de la zone cible doit être exacte (par opposition à une correspondance par expression régulière).
- 4
- Indiquez le domaine exact de la zone que vous souhaitez mettre à jour. Les noms d'hôte des routes doivent être des sous-domaines du domaine spécifié.
- 5
- Définit le fournisseur DNS
AWS Route53
. - 6
- Définit les options pour la source des enregistrements DNS.
- 7
- Définit la ressource OpenShift
route
comme source pour les enregistrements DNS qui sont créés dans le fournisseur DNS spécifié précédemment. - 8
- Si la source est
OpenShiftRoute
, alors vous pouvez passer le nom du contrôleur d'entrée d'OpenShift. L'opérateur DNS externe sélectionne le nom d'hôte canonique de ce routeur comme cible lors de la création de l'enregistrement CNAME.
Vérifiez les enregistrements créés pour les routes OCP à l'aide de la commande suivante :
$ aws route53 list-resource-record-sets --hosted-zone-id Z02355203TNN1XXXX1J6O --query "ResourceRecordSets[?Type == 'CNAME']" | grep console