19.5. Création d'enregistrements DNS sur Azure
Vous pouvez créer des enregistrements DNS sur Azure à l'aide de l'opérateur DNS externe.
19.5.1. Création d'enregistrements DNS sur une zone DNS publique pour Azure à l'aide de Red Hat External DNS Operator
Vous pouvez créer des enregistrements DNS sur une zone DNS publique pour Azure 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
Récupère les valeurs du secret azure-credentials présent dans l'espace de noms
kube-system
.$ CLIENT_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_client_id}} | base64 -d) $ CLIENT_SECRET=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_client_secret}} | base64 -d) $ RESOURCE_GROUP=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_resourcegroup}} | base64 -d) $ SUBSCRIPTION_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_subscription_id}} | base64 -d) $ TENANT_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_tenant_id}} | base64 -d)
Se connecter à azure avec des valeurs décodées en base64 :
$ az login --service-principal -u "${CLIENT_ID}" -p "${CLIENT_SECRET}" --tenant "${TENANT_ID}"
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.azure.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.azure.example.com 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 :
$ az network dns zone list --resource-group "${RESOURCE_GROUP}"
Créer une ressource
ExternalDNS
pour une sourceroute
:apiVersion: externaldns.olm.openshift.io/v1beta1 kind: ExternalDNS metadata: name: sample-azure 1 spec: zones: - "/subscriptions/1234567890/resourceGroups/test-azure-xxxxx-rg/providers/Microsoft.Network/dnszones/test.azure.example.com" 2 provider: type: Azure 3 source: openshiftRouteOptions: 4 routerName: default 5 type: OpenShiftRoute 6 EOF
- 1
- Spécifie le nom du DNS CR externe.
- 2
- Définir l'ID de la zone.
- 3
- Définit le fournisseur Azure DNS.
- 4
- Vous pouvez définir des options pour la source des enregistrements DNS.
- 5
- 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. - 6
- 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 :
$ az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console
NotePour créer des enregistrements sur des zones hébergées privées sur des dns Azure privés, vous devez spécifier la zone privée sous
zones
qui remplit le type de fournisseur àazure-private-dns
dans les args du conteneurExternalDNS
.