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 Copier lienLien copié sur presse-papiers!
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-systempour utiliser le client du fournisseur de cloud :$ oc whoamiExemple de sortie
system:adminRé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 consoleExemple 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 NoneObtenir 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
ExternalDNSpour une sourceroute:apiVersion: externaldns.olm.openshift.io/v1beta1 kind: ExternalDNS metadata: name: sample-azure1 spec: zones: - "/subscriptions/1234567890/resourceGroups/test-azure-xxxxx-rg/providers/Microsoft.Network/dnszones/test.azure.example.com"2 provider: type: Azure3 source: openshiftRouteOptions:4 routerName: default5 type: OpenShiftRoute6 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
routecomme 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 consoleNotePour 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
zonesqui remplit le type de fournisseur àazure-private-dnsdans les args du conteneurExternalDNS.