Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Azure Kubernetes Service (AKS) a CoreDNS-t használja a fürt DNS-kezelésére és feloldására az összes 1.12.x és újabb fürt esetében. Az AKS egy felügyelt szolgáltatás, így nem módosíthatja a CoreDNS (a CoreFile) fő konfigurációját. Ehelyett egy Kubernetes ConfigMap használatával bírálja felül az alapértelmezett beállításokat. Az alapértelmezett AKS CoreDNS konfigurációtérképek megtekintéséhez használja a kubectl get configmaps --namespace=kube-system coredns --output yaml parancsot.
Ez a cikk bemutatja, hogyan használható a ConfigMaps az Azure Kubernetes Service (AKS) alapszintű CoreDNS-testreszabási beállításaihoz.
Feljegyzés
Korábban az AKS a kube-dns-t használta a fürt DNS-kezeléséhez és feloldásához, de ez már elavult.
kube-dns különböző testreszabási lehetőségeket kínált egy Kubernetes konfigurációs térképen keresztül. A CoreDNS nem visszafelé kompatibilis kube-dns-vel. A CoreDNS használatához frissítenie kell a korábbi testreszabásokat.
Előfeltételek
- Ez a cikk feltételezi, hogy van egy meglévő AKS-fürtje. Ha AKS-fürtre van szüksége, létrehozhat egyet az Azure CLI, az Azure PowerShell vagy az Azure Portal használatával.
- Ellenőrizze a futtatott CoreDNS-verziót. A konfigurációs értékek változhatnak a verziók között.
Bővítmény támogatása
Minden beépített CoreDNS beépülő modul támogatott. A bővítmények/harmadik felek beépülő moduljai nem támogatottak.
Fontos
Amikor a cikkben szereplő konfigurációkhoz hasonló konfigurációkat hoz létre, a data szakaszban megadott neveknek .server vagy .override végződésűnek kell lenniük. Ez az elnevezési konvenció az alapértelmezett AKS CoreDNS ConfigMap-ban van definiálva, amelyet a kubectl get configmaps --namespace=kube-system coredns --output yaml parancs használatával tekinthet meg.
DNS-név újraírásának konfigurálása
Hozzon létre egy elnevezett
corednsms.yamlfájlt, és illessze be a következő példakonfigurációba. Ügyeljen arra, hogy a<domain to be rewritten>helyett a saját teljes körű tartománynevét (FQDN) használja.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: test.server: | <domain to be rewritten>.com:53 { log errors rewrite stop { name regex (.*)\.<domain to be rewritten>\.com {1}.default.svc.cluster.local answer name (.*)\.default\.svc\.cluster\.local {1}.<domain to be rewritten>.com } forward . /etc/resolv.conf # You can redirect this to a specific DNS server such as 10.0.0.10, but that server must be able to resolve the rewritten domain name }Fontos
Ha átirányít egy DNS-kiszolgálóra, például a CoreDNS szolgáltatás IP-címére, az adott DNS-kiszolgálónak képesnek kell lennie az újraírt tartománynév feloldására.
Hozza létre a ConfigMap-ot a
kubectl apply configmapparanccsal, és adja meg a YAML-jegyzék nevét.kubectl apply -f corednsms.yamlEllenőrizze, hogy a parancs használatával alkalmazták-e a
kubectl get configmapstestreszabásokat.kubectl get configmaps --namespace=kube-system coredns-custom -o yamlGördülő újraindítást hajthat végre a ConfigMap újratöltéséhez, és engedélyezheti a Kubernetes Scheduler számára, hogy állásidő nélkül újraindítsa a CoreDNS-t a
kubectl rollout restartparancs használatával.kubectl --namespace kube-system rollout restart deployment coredns
Továbbítási kiszolgáló megadása a hálózati forgalomhoz
Hozzon létre egy elnevezett
corednsms.yamlfájlt, és illessze be a következő példakonfigurációba. Ügyeljen arra, hogy aforwardnevet és a<domain to be rewritten>saját értékeire cserélje le.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: test.server: | # You can select any name here, but it must end with the .server file extension <domain to be rewritten>.com:53 { forward foo.com 1.1.1.1 }Hozza létre a ConfigMap-et a
kubectl apply configmapparancs használatával.kubectl apply -f corednsms.yamlGördülő újraindítást hajthat végre a ConfigMap újratöltéséhez, és engedélyezheti a Kubernetes Scheduler számára, hogy állásidő nélkül újraindítsa a CoreDNS-t a
kubectl rollout restartparancs használatával.kubectl --namespace kube-system rollout restart deployment coredns
Egyéni tartományok használata
Érdemes lehet olyan egyéni tartományokat konfigurálni, amelyek csak belsőleg oldhatók fel. Előfordulhat például, hogy fel szeretné oldani a puglife.local egyéni tartományt, amely nem érvényes legfelső szintű tartomány. Egyéni tartomány konfigurációtérképe nélkül az AKS-fürt nem tudja feloldani a címet.
Hozzon létre egy új, elnevezett
corednsms.yamlfájlt, és illessze be a következő példakonfigurációba. Mindenképpen frissítse az egyéni tartományt és AZ IP-címet a saját értékeivel.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: puglife.server: | # You can select any name here, but it must end with the .server file extension puglife.local:53 { errors cache 30 forward . 192.11.0.1 # This is my test/dev DNS server }Hozza létre a ConfigMap-et a
kubectl apply configmapparancs használatával.kubectl apply -f corednsms.yamlGördülő újraindítást hajthat végre a ConfigMap újratöltéséhez, és engedélyezheti a Kubernetes Scheduler számára, hogy állásidő nélkül újraindítsa a CoreDNS-t a
kubectl rollout restartparancs használatával.kubectl --namespace kube-system rollout restart deployment coredns
Csonktartományok konfigurálása
Hozzon létre egy elnevezett
corednsms.yamlfájlt, és illessze be a következő példakonfigurációt. Mindenképpen frissítse az egyéni tartományokat és IP-címeket a saját értékeivel.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: test.server: | # You can select any name here, but it must end with the .server file extension abc.com:53 { errors cache 30 forward . 1.2.3.4 } my.cluster.local:53 { errors cache 30 forward . 2.3.4.5 }Hozza létre a ConfigMap-ot a
kubectl apply configmapparanccsal, és adja meg.kubectl apply -f corednsms.yamlGördülő újraindítást hajthat végre a ConfigMap újratöltéséhez, és engedélyezheti a Kubernetes Scheduler számára, hogy állásidő nélkül újraindítsa a CoreDNS-t a
kubectl rollout restartparancs használatával.kubectl --namespace kube-system rollout restart deployment coredns
Egyéni gazdagép–IP hozzárendelések hozzáadása
Hozzon létre egy elnevezett
corednsms.yamlfájlt, és illessze be a következő példakonfigurációt. Mindenképpen frissítse az IP-címeket és a gazdagépneveket a saját értékeivel.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom # This is the name of the ConfigMap you can overwrite with your changes namespace: kube-system data: test.override: | # You can select any name here, but it must end with the .override file extension hosts { 10.0.0.1 example1.org 10.0.0.2 example2.org 10.0.0.3 example3.org fallthrough }Hozza létre a ConfigMap-et a
kubectl apply configmapparancs használatával.kubectl apply -f corednsms.yamlGördülő újraindítást hajthat végre a ConfigMap újratöltéséhez, és engedélyezheti a Kubernetes Scheduler számára, hogy állásidő nélkül újraindítsa a CoreDNS-t a
kubectl rollout restartparancs használatával.kubectl --namespace kube-system rollout restart deployment coredns
Következő lépések
- A CoreDNS-hibák elhárításához tekintse meg az Azure Kubernetes Service (AKS) CoreDNS-sel kapcsolatos problémáinak hibaelhárítását.
- A CoreDNS automatikus skálázási viselkedéséről az Azure Kubernetes Service (AKS) CoreDNS automatikus skálázása című témakörben olvashat.