Delen via


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:

DNS

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.

  1. De configuratie-instelling van de DNS-servers van het virtuele netwerk wijzigen.
  2. 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.

DNS selecteren

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.

Aangepaste DNS-servers opgeven

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.

DNS-wijzigingen bevestigen

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 machineconfiggemaakt 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.ymlaanroepen 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 machineconfigte maken, verwijderen we in plaats daarvan de s die machineconfigwe 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.