19.6. Création d'enregistrements DNS sur GCP
Vous pouvez créer des enregistrements DNS sur GCP à l'aide de l'opérateur DNS externe.
19.6.1. Création d'enregistrements DNS sur une zone publique gérée pour GCP à l'aide de Red Hat External DNS Operator
Vous pouvez créer des enregistrements DNS sur une zone publique gérée pour GCP en utilisant Red Hat External DNS Operator.
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
Copiez la valeur de service_account.json dans gcp-credentials secret dans un fichier encoded-gcloud.json en exécutant la commande suivante :
$ oc get secret gcp-credentials -n kube-system --template='{{$v := index .data "service_account.json"}}{{$v}}' | base64 -d - > decoded-gcloud.json
Exporter les informations d'identification Google :
$ export GOOGLE_CREDENTIALS=decoded-gcloud.json
Activez votre compte en utilisant la commande suivante :
$ gcloud auth activate-service-account <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.json
Définissez votre projet :
$ gcloud config set project <project_id as per decoded-gcloud.json>
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.test.gcp.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.gcp.example.com downloads http edge/Redirect None
Obtenir la liste des zones gérées pour trouver la zone qui correspond au domaine de la route trouvée précédemment :
$ gcloud dns managed-zones list | grep test.gcp.example.com qe-cvs4g-private-zone test.gcp.example.com
Créer une ressource
ExternalDNS
pour une sourceroute
:apiVersion: externaldns.olm.openshift.io/v1beta1 kind: ExternalDNS metadata: name: sample-gcp 1 spec: domains: - filterType: Include 2 matchType: Exact 3 name: test.gcp.example.com 4 provider: type: GCP 5 source: openshiftRouteOptions: 6 routerName: default 7 type: OpenShiftRoute 8 EOF
- 1
- Spécifie le nom du DNS CR 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 de Google Cloud DNS.
- 6
- Vous pouvez définir des options pour la source des enregistrements DNS.
- 7
- Si la source est
OpenShiftRoute
, vous pouvez passer le nom du contrôleur d'entrée d'OpenShift. Le DNS externe sélectionne le nom d'hôte canonique de ce routeur comme cible lors de la création de l'enregistrement CNAME. - 8
- 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.
Vérifiez les enregistrements créés pour les routes OCP à l'aide de la commande suivante :
$ gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep console