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:
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.
- Ändra konfigurationsinställningen för DNS-servrar för virtuella nätverk.
- 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.
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.
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.
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 machineconfig
fö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.yml
och 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 machineconfig
tar vi i stället bort de machineconfig
som 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.