Een aangepaste DNS-resolver configureren voor uw Azure Red Hat OpenShift-cluster (ARO)
Dit artikel bevat de benodigde details waarmee u uw Azure Red Hat OpenShift-cluster (ARO) kunt configureren voor het gebruik van een aangepaste DNS-server. Het bevat de clustervereisten voor een eenvoudige ARO-implementatie.
Voordat u begint
In dit artikel wordt ervan uitgegaan dat u een nieuw cluster maakt of een bestaand cluster hebt waarop de meest recente updates zijn toegepast. Als u een ARO-cluster nodig hebt, raadpleegt u de ARO-quickstart voor een openbaar cluster of de zelfstudie over een privécluster. Deze stappen voor het configureren van uw cluster voor het gebruik van een aangepaste DNS-server zijn hetzelfde voor zowel privé- als openbare clusters.
Clustercompatibiliteit met aangepaste DNS bevestigen
Controleer of uw cluster in aanmerking komt voor ondersteuning van deze functie door het bestaan van de 99-master-aro-dns
en 99-worker-aro-dns
machineconfigs
.
oc get machineconfig
Als de resultaten van de bovenstaande opdracht de volgende computerconfiguraties bevatten, komt uw cluster in aanmerking voor aangepaste DNS-ondersteuning.
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE
...
99-master-aro-dns 2.2.0 54d
99-worker-aro-dns 2.2.0 54d
...
Overzicht van DNS-architectuur
Als elk knooppunt in het Azure Red Hat OpenShift-cluster wordt ingeschakeld en lid wordt van het netwerk, configureert DHCP de virtuele machine met informatie zoals IP-adres en welke DNS-server moet worden gebruikt.
Hieronder ziet u het overzicht van de processtroom van hoe de configuratie wordt verkregen:
Een belangrijk nadeel van het gebruik van uw eigen DNS-server in plaats van de standaard DNS-server in het virtuele netwerk is dat u de configuratie verliest die door de DNS-server is opgegeven. De namen van de virtuele machines worden niet meer omgezet via DNS in het netwerk.
Overzicht van updateproces
Het configureren van een aangepaste DNS-server voor het cluster wordt onderverdeeld in twee stappen.
- De configuratie-instelling van de DNS-servers van het virtuele netwerk wijzigen.
- Knooppunten in het cluster opnieuw opstarten om wijzigingen aan te brengen.
Een aangepaste DNS-server configureren
De volgende stappen kunnen ook worden uitgevoerd via de opdrachtregel, maar in deze documentatie wordt de webinterface van de portal gebruikt.
DNS-configuratie bijwerken in virtueel netwerk
Meld u aan bij Azure Portal en navigeer naar het gewenste virtuele netwerk dat u wilt bijwerken. Selecteer DNS-servers in de lijst met instellingen voor virtuele netwerken.
Zodra u zich op het scherm dns-configuratie bevindt, selecteert u Aangepast in de configuratie van de radiale knop. Voer de IP-adressen voor uw DNS-servers in.
Belangrijk
Als u ervoor kiest om een aangepaste DNS-server op te geven, kunt u geen knooppuntnamen meer omzetten in het virtuele netwerk via DNS. Knooppunten zijn alleen bereikbaar via IP-adres.
Selecteer Opslaan.
Notitie
Zoals wordt weergegeven in de portalinterface, moet u alle virtuele machines opnieuw opstarten om de wijzigingen te kunnen doorvoeren.
U ontvangt een melding dat de update is geslaagd.
Uw cluster probleemloos opnieuw opstarten
Voor deze stappen is een geldige kubeconfig voor uw cluster vereist. Raadpleeg deze zelfstudie voor meer informatie over het verkrijgen van een kubeconfig.
Met de volgende codefragmenten worden noop's machineconfig
gemaakt voor hoofd- en werkknooppunten. Hiermee kunt u rolling herstarts initiëren voor de werkrol- of hoofdknooppunten. Zie de broncode of de OpenShift-documentatie voor MCO voor meer informatie over de Machine Config Operator (MCO).
MachineConfig-definities
Werkrol wordt opnieuw opgestart:
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: worker
name: 25-machineconfig-worker-reboot
spec:
config:
ignition:
version: 2.2.0
storage:
files:
- contents:
source: data:text/plain;charset=utf-8;base64,cmVzdGFydAo=
filesystem: root
mode: 0644
path: /etc/mco-noop-worker-restart.txt
Master wordt opnieuw opgestart:
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
machineconfiguration.openshift.io/role: master
name: 25-machineconfig-master-reboot
spec:
config:
ignition:
version: 2.2.0
storage:
files:
- contents:
source: data:text/plain;charset=utf-8;base64,cmVzdGFydAo=
filesystem: root
mode: 0644
path: /etc/mco-master-noop-restart.txt
Werkknooppunten opnieuw opstarten
Maak het bestand voor het opnieuw opstarten van de werkrol. In dit voorbeeld wordt het bestand worker-restarts.yml
aanroepen en toegepast.
[user@bastion ~]$ vim worker-restarts.yml
[user@bastion ~]$ oc apply -f worker-restarts.yml
machineconfig.machineconfiguration.openshift.io/25-machineconfig-worker-reboot created
De MCO verplaatst workloads en start vervolgens elk knooppunt één voor één opnieuw op. Zodra de werknemers weer online zijn gekomen, volgen we dezelfde procedure om de hoofdknooppunten opnieuw op te starten. U kunt de status van de werkrollen controleren door een query uit te voeren op de knooppunten en te controleren of ze allemaal de Ready
status hebben.
Notitie
Afhankelijk van de grootte van de workload die het cluster heeft, kan het enkele minuten duren voordat elk knooppunt opnieuw is opgestart.
Voorbeeld van werkknooppunten die niet volledig gereed zijn:
NAME STATUS ROLES AGE VERSION
dns-docs-tm45t-master-0 Ready master 5h40m v1.19.0+a5a0987
dns-docs-tm45t-master-1 Ready master 5h40m v1.19.0+a5a0987
dns-docs-tm45t-master-2 Ready master 5h40m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus1-8t6q8 Ready worker 5h35m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus2-ln2kq Ready,SchedulingDisabled worker 5h34m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus3-gg75h Ready worker 5h35m v1.19.0+a5a0987
Wanneer het knooppunt opnieuw wordt opgestart, wordt het gewijzigd in de status NotReady:
dns-docs-tm45t-worker-eastus2-ln2kq NotReady,SchedulingDisabled worker 5h38m v1.19.0+a5a0987
Volledig gereed:
[user@bastion ~]$ oc get nodes
NAME STATUS ROLES AGE VERSION
dns-docs-tm45t-master-0 Ready master 5h45m v1.19.0+a5a0987
dns-docs-tm45t-master-1 Ready master 5h46m v1.19.0+a5a0987
dns-docs-tm45t-master-2 Ready master 5h46m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus1-8t6q8 Ready worker 5h41m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus2-ln2kq Ready worker 5h40m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus3-gg75h Ready worker 5h41m v1.19.0+a5a0987
Hoofdknooppunten opnieuw opstarten
Herhaal nu hetzelfde proces voor de hoofdknooppunten:
[user@bastion ~]$ vim master-restarts.yml
[user@bastion ~]$ oc apply -f master-restarts.yml
machineconfig.machineconfiguration.openshift.io/25-machineconfig-master-reboot created
Controleer of alle knooppunten zijn geretourneerd naar de Ready
status:
[user@bastion ~]$ oc get nodes
NAME STATUS ROLES AGE VERSION
dns-docs-tm45t-master-0 Ready master 6h8m v1.19.0+a5a0987
dns-docs-tm45t-master-1 Ready master 6h8m v1.19.0+a5a0987
dns-docs-tm45t-master-2 Ready master 6h8m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus1-8t6q8 Ready worker 6h3m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus2-ln2kq Ready worker 6h2m v1.19.0+a5a0987
dns-docs-tm45t-worker-eastus3-gg75h Ready worker 6h3m v1.19.0+a5a0987
Wijzigingen op een knooppunt bevestigen (optioneel)
Om de nieuwe DNS-server op een knooppunt te valideren, gebruiken we de oc debug
pod.
[user@bastion ~]$ oc debug node/dns-docs-tm45t-worker-eastus2-ln2kq
Starting pod/dns-docs-tm45t-worker-eastus2-ln2kq-debug ...
To use host binaries, run `chroot /host`
chroot Pod IP: 10.0.2.6
If you don't see a command prompt, try pressing enter.
sh-4.4# chroot /host
sh-4.4# uptime
18:40:16 up 1 min, 0 users, load average: 0.82, 0.32, 0.12
sh-4.4# cat /etc/resolv.conf.dnsmasq
# Generated by NetworkManager
search reddog.microsoft.com
nameserver 192.168.0.1
De aangepaste DNS-server wijzigen
De procedure voor het wijzigen van de aangepaste DNS op een cluster dat al aangepaste DNS heeft, volgt hetzelfde proces.
DNS wijzigen
Volg de procedure die hier wordt beschreven om de DNS-configuratie in het virtuele netwerk bij te werken.
Knooppunten opnieuw starten
In plaats van de machineconfig
te maken, verwijderen we in plaats daarvan de s die machineconfig
we de eerste keer hebben gemaakt. We beginnen met de werkknooppunten.
oc delete machineconfig 25-machineconfig-worker-reboot
De uitvoer:
machineconfig.machineconfiguration.openshift.io "25-machineconfig-worker-reboot" deleted
Wacht tot alle werkknooppunten opnieuw zijn opgestart. Dit is vergelijkbaar met het opnieuw opstarten van werkknooppunten hierboven.
Nu starten we de hoofdknooppunten opnieuw op.
oc delete machineconfig 25-machineconfig-master-reboot
De uitvoer:
machineconfig.machineconfiguration.openshift.io "25-machineconfig-master-reboot" deleted
Wacht tot alle hoofdknooppunten opnieuw zijn opgestart en terugkeren naar de status Gereed.