Dela via


Konfigurera en anpassad DNS-matchare för ditt Azure Red Hat OpenShift-kluster (ARO)

Den här artikeln innehåller nödvändig information som gör att du kan konfigurera ditt Azure Red Hat OpenShift-kluster (ARO) för att använda en anpassad DNS-server. Den innehåller klusterkraven för en grundläggande ARO-distribution.

Innan du börjar

Den här artikeln förutsätter att du skapar ett nytt kluster eller har ett befintligt kluster med de senaste uppdateringarna tillämpade. Om du behöver ett ARO-kluster kan du läsa ARO-snabbstarten för ett offentligt kluster eller självstudiekursen för privata kluster för ett privat kluster. De här stegen för att konfigurera klustret att använda en anpassad DNS-server är desamma för både privata och offentliga kluster.

Bekräfta klusterkompatibilitet med anpassad DNS

Bekräfta att klustret är berättigat att stödja den här funktionen genom att verifiera förekomsten av 99-master-aro-dns och 99-worker-aro-dns machineconfigs.

oc get machineconfig

Om resultatet av kommandot ovan innehåller följande maskinkonfigurationer är klustret berättigat till anpassat DNS-stöd.

NAME                 GENERATEDBYCONTROLLER                      IGNITIONVERSION   AGE
...
99-master-aro-dns                                               2.2.0             54d
99-worker-aro-dns                                               2.2.0             54d
...

Översikt över DNS-arkitektur

Eftersom varje nod i Azure Red Hat OpenShift-klustret aktiveras och ansluter till nätverket konfigurerar DHCP den virtuella datorn med information som IP-adress och vilken DNS-server som ska användas.

Nedan visas en översikt över processflödet för hur konfigurationen erhålls:

DNS

En viktig kompromiss med att använda din egen DNS-server i stället för standard-DNS-servern i det virtuella nätverket är att du förlorar den konfiguration som DNS-servern har angett. Namnen på den virtuella datorn matchas inte längre via DNS i nätverket.

Översikt över uppdateringsprocessen

Konfigurationen av en anpassad DNS-server för klustret är uppdelad i två steg.

  1. Ändra konfigurationsinställningen för DNS-servrar för virtuella nätverk.
  2. Starta om noder i klustret för att göra ändringar.

Konfigurera en anpassad DNS-server

Följande steg kan också utföras via kommandoraden, men den här dokumentationen går igenom med hjälp av portalwebbgränssnittet.

Uppdatera DNS-konfigurationen i det virtuella nätverket

Logga in på Azure Portal och navigera till önskat virtuellt nätverk som du vill uppdatera. Välj DNS-servrar i listan med inställningar för virtuella nätverk.

Välj DNS

När du är på dns-konfigurationsskärmen väljer du Anpassad från konfigurationen av radiell knapp. Ange IP-adresserna för dns-servrarna.

Viktigt!

Om du väljer att ange en anpassad DNS-server kan du inte längre matcha nodnamn i det virtuella nätverket via DNS. Noder kan endast nås via IP-adress.

Ange anpassade DNS-servrar

Välj Spara.

Kommentar

Som du ser i portalgränssnittet måste du starta om alla virtuella datorer för att ändringarna ska vara på plats.

Du bör få ett meddelande om att uppdateringen lyckades.

Bekräfta DNS-ändringar

Starta om klustret på ett korrekt sätt

De här stegen kräver att du har en giltig kubeconfig till klustret. Mer information om hur du hämtar en kubeconfig finns i den här självstudien .

Följande kodfragment skapar noop machineconfigför huvud- och arbetsnoder. På så sätt kan du initiera löpande omstarter för antingen arbetsnoderna eller huvudnoderna. Mer information om McO (Machine Config Operator) finns i källkoden eller OpenShift-dokumenten för MCO .

MachineConfig-definitioner

Arbetaren startar om:

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 startar om:

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

Starta om arbetsnoder

Skapa arbetsomstartsfilen, det här exemplet anropar filen worker-restarts.ymloch tillämpar den.

[user@bastion ~]$ vim worker-restarts.yml
[user@bastion ~]$ oc apply -f worker-restarts.yml
machineconfig.machineconfiguration.openshift.io/25-machineconfig-worker-reboot created

MCO flyttar arbetsbelastningar och startar sedan om varje nod en i taget. När arbetarna har kommit tillbaka online följer vi samma procedur för att starta om huvudnoderna. Du kan kontrollera statusen för arbetarna genom att fråga noderna och verifiera att alla är i Ready tillståndet.

Kommentar

Beroende på storleken på den arbetsbelastning klustret har kan det ta flera minuter innan varje nod startas om.

Exempel på arbetsnoder som inte är helt klara:

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

När noden startas om ser du att den ändras till tillståndet NotReady:

dns-docs-tm45t-worker-eastus2-ln2kq   NotReady,SchedulingDisabled   worker   5h38m   v1.19.0+a5a0987

Helt redo:

[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

Starta om huvudnoder

Upprepa nu samma process för huvudnoderna:

[user@bastion ~]$ vim master-restarts.yml
[user@bastion ~]$ oc apply -f master-restarts.yml
machineconfig.machineconfiguration.openshift.io/25-machineconfig-master-reboot created

Bekräfta att alla noder har återgått till tillståndet Ready :

[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

Bekräfta ändringar på en nod (valfritt)

För att verifiera den nya DNS-servern på en nod använder oc debug vi podden.

[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

Ändra den anpassade DNS-servern

Proceduren för att ändra den anpassade DNS-koden i ett kluster som redan har anpassad DNS på plats följer samma process.

Ändra DNS

Följ proceduren som beskrivs här för att uppdatera DNS-konfigurationen i det virtuella nätverket.

Starta om noder

I stället för att skapa machineconfigtar vi i stället bort de machineconfigsom vi skapade första gången. Vi börjar med arbetsnoderna.

oc delete machineconfig 25-machineconfig-worker-reboot

Utdata:

machineconfig.machineconfiguration.openshift.io "25-machineconfig-worker-reboot" deleted

Vänta tills alla arbetsnoder startas om. Detta liknar omstarten av arbetsnoder ovan.

Nu ska vi starta om huvudnoderna.

oc delete machineconfig 25-machineconfig-master-reboot

Utdata:

machineconfig.machineconfiguration.openshift.io "25-machineconfig-master-reboot" deleted

Vänta tills alla huvudnoder startas om och återgå till tillståndet Klar.