Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Kubernetes Service (AKS) używa projektu CoreDNS do zarządzania i rozpoznawania DNS we wszystkich klastrach w wersji 1.12.x i wyższych. Aby uzyskać więcej informacji na temat dostosowywania coreDNS i platformy Kubernetes, zobacz oficjalną dokumentację nadrzędną.
Usługa AKS jest usługą zarządzaną, więc nie można modyfikować głównej konfiguracji coreDNS (a CoreFile). Zamiast tego należy użyć narzędzia Kubernetes ConfigMap , aby zastąpić ustawienia domyślne. Aby wyświetlić domyślne obiekty ConfigMaps usługi AKS CoreDNS, użyj kubectl get configmaps --namespace=kube-system coredns -o yaml
polecenia .
W tym artykule pokazano, jak używać ConfigMaps do podstawowych opcji dostosowywania CoreDNS w AKS. Takie podejście różni się od konfigurowania sieci CoreDNS w innych kontekstach, takich jak CoreFile.
Uwaga
Wcześniej usługa kube-dns była używana do zarządzania i rozpoznawania nazw DNS klastra, ale jest teraz przestarzała.
kube-dns
oferował różne opcje dostosowywania przez mapę konfiguracji Kubernetes. CoreDNS nie jest wstecznie kompatybilny z kube-dns. Wszystkie użyte wcześniej dostosowania muszą zostać zaktualizowane dla usługi CoreDNS.
Zanim rozpoczniesz
- W tym artykule przyjmuje się, że posiadasz już istniejący klaster AKS. Jeśli potrzebujesz klastra usługi AKS, możesz go utworzyć przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub witryny Azure Portal.
- Sprawdź używaną wersję serwera CoreDNS. Wartości konfiguracji mogą ulec zmianie między wersjami.
- Podczas tworzenia konfiguracji, takich jak w poniższych przykładach, nazwy w sekcji danych muszą kończyć się wartością .server lub .override. Ta konwencja nazewnictwa jest definiowana w domyślnej konfiguracji AKS CoreDNS ConfigMap, którą można wyświetlić za pomocą
kubectl get configmaps --namespace=kube-system coredns -o yaml
polecenia .
Obsługa wtyczek
Obsługiwane są wszystkie wbudowane wtyczki CoreDNS. Nie są obsługiwane żadne dodatki/wtyczki innych firm.
Przepisz DNS
Możesz dostosować nazwę CoreDNS za pomocą usługi AKS, aby wykonać ponowne zapisywanie nazw DNS na bieżąco.
Utwórz plik o nazwie
corednsms.yaml
i wklej następującą przykładową konfigurację. Pamiętaj, aby zastąpić<domain to be rewritten>
na własną w pełni kwalifikowaną nazwę domeny.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 }
Ważne
Jeśli nastąpi przekierowanie do serwera DNS, takiego jak adres IP usługi CoreDNS, serwer DNS musi być w stanie rozpoznać przepisaną nazwę domeny.
Utwórz ConfigMap przy użyciu
kubectl apply configmap
polecenia i określ nazwę manifestu YAML.kubectl apply -f corednsms.yaml
Zweryfikuj, czy dostosowania zostały zastosowane przy użyciu
kubectl get configmaps
, i określ swoją ConfigMap coredns-custom.kubectl get configmaps --namespace=kube-system coredns-custom -o yaml
Aby ponownie załadować narzędzie ConfigMap i włączyć harmonogram Kubernetes w celu ponownego uruchomienia usługi CoreDNS bez przestoju, wykonaj ponowne uruchomienie stopniowe przy użyciu polecenia
kubectl rollout restart
.kubectl -n kube-system rollout restart deployment coredns
Niestandardowy serwer przekazywania dalej
Jeśli musisz określić serwer przekazywania dla ruchu sieciowego, możesz utworzyć ConfigMap, aby dostosować system DNS.
Utwórz plik o nazwie
corednsms.yaml
i wklej następującą przykładową konfigurację. Pamiętaj, aby zastąpićforward
nazwę i adres wartościami własnego środowiska.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: test.server: | # you may 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 }
Utwórz ConfigMap przy użyciu
kubectl apply configmap
polecenia i określ nazwę manifestu YAML.kubectl apply -f corednsms.yaml
Aby ponownie załadować narzędzie ConfigMap i włączyć harmonogram Kubernetes w celu ponownego uruchomienia usługi CoreDNS bez przestoju, wykonaj ponowne uruchomienie stopniowe przy użyciu polecenia
kubectl rollout restart
.kubectl -n kube-system rollout restart deployment coredns
Używanie domen niestandardowych
Możesz skonfigurować domeny niestandardowe, które można rozwiązać tylko wewnątrz sieci. Na przykład możesz rozwiązać problem z domeną niestandardową puglife.local, która nie jest prawidłową domeną najwyższego poziomu. Bez niestandardowej domeny ConfigMap klaster usługi AKS nie może rozpoznać adresu.
Utwórz nowy plik o nazwie
corednsms.yaml
i wklej następującą przykładową konfigurację. Pamiętaj, aby zaktualizować domenę niestandardową i adres IP przy użyciu wartości dla własnego środowiska.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: puglife.server: | # you may 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 }
Utwórz ConfigMap przy użyciu
kubectl apply configmap
polecenia i określ nazwę manifestu YAML.kubectl apply -f corednsms.yaml
Aby ponownie załadować narzędzie ConfigMap i włączyć harmonogram Kubernetes w celu ponownego uruchomienia usługi CoreDNS bez przestoju, wykonaj ponowne uruchomienie stopniowe przy użyciu polecenia
kubectl rollout restart
.kubectl -n kube-system rollout restart deployment coredns
Domeny stub
CoreDNS można również użyć do konfigurowania domen stub.
Utwórz plik o nazwie
corednsms.yaml
i wklej następującą przykładową konfigurację. Pamiętaj, aby zaktualizować niestandardowe domeny i adresy IP na wartości odpowiadające Twojemu środowisku.apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: test.server: | # you may 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 }
Utwórz ConfigMap przy użyciu
kubectl apply configmap
polecenia i określ nazwę manifestu YAML.kubectl apply -f corednsms.yaml
Aby ponownie załadować narzędzie ConfigMap i włączyć harmonogram Kubernetes w celu ponownego uruchomienia usługi CoreDNS bez przestoju, wykonaj ponowne uruchomienie stopniowe przy użyciu polecenia
kubectl rollout restart
.kubectl -n kube-system rollout restart deployment coredns
Wtyczka hostów
Wszystkie wbudowane wtyczki są obsługiwane, więc wtyczka CoreDNS hostów jest również dostępna do dostosowywania /etc/hosts.
Utwórz plik o nazwie
corednsms.yaml
i wklej następującą przykładową konfigurację. Upewnij się, że zaktualizujesz adresy IP i nazwy hostów, używając wartości dla własnego środowiska.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 may 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 }
Utwórz ConfigMap przy użyciu
kubectl apply configmap
polecenia i określ nazwę manifestu YAML.kubectl apply -f corednsms.yaml
Aby ponownie załadować narzędzie ConfigMap i włączyć harmonogram Kubernetes w celu ponownego uruchomienia usługi CoreDNS bez przestoju, wykonaj ponowne uruchomienie stopniowe przy użyciu polecenia
kubectl rollout restart
.kubectl -n kube-system rollout restart deployment coredns
Nieprawidłowe ukończenie domeny wyszukiwania dla internal.cloudapp.net i reddog.microsoft.com
Usługa Azure DNS konfiguruje domyślną domenę wyszukiwania <vnetId>.<region>.internal.cloudapp.net
w sieciach wirtualnych przy użyciu usługi Azure DNS i niefunkcjonalny zastępczy wpis reddog.microsoft.com
w sieciach wirtualnych przy użyciu niestandardowych serwerów DNS (więcej szczegółów znajdziesz w dokumentacji rozpoznawania nazw zasobów). Platforma Kubernetes konfiguruje ustawienia dns zasobnika, ndots: 5
aby prawidłowo obsługiwać rozpoznawanie nazw hostów usługi klastra. Te dwie konfiguracje łączą się, aby powodować nieprawidłowe zapytania dotyczące uzupełnienia domeny wyszukiwania, które nigdy nie są pomyślnie wysyłane do nadrzędnych serwerów nazw, podczas przetwarzania przez listę wyszukiwania domen przez system. Te nieprawidłowe zapytania powodują opóźnienia rozpoznawania nazw i mogą powodować dodatkowe obciążenie na nadrzędnych serwerach DNS.
Począwszy od wersji 20241025 AKS, AKS konfiguruje CoreDNS, aby odpowiedzieć kodem NXDOMAIN w następujących dwóch przypadkach, aby zapobiec przesłaniu tych nieprawidłowych zapytań uzupełniania domeny wyszukiwania do nadrzędnego DNS:
- Każde zapytanie dotyczące domeny głównej lub poddomeny .
reddog.microsoft.com
- Każde zapytanie dotyczące poddomeny,
internal.cloudapp.net
która ma siedem lub więcej etykiet w nazwie domeny.- Ta konfiguracja pozwala nadal skutecznie rozpoznawać maszyny wirtualne na podstawie nazwy hosta. Na przykład usługa CoreDNS wysyła
aks12345.myvnetid.myregion.internal.cloudapp.net
(6 etykiet) do usługi Azure DNS, ale odrzucamcr.microsoft.com.myvnetid.myregion.internal.cloudapp.net
(8 etykiet)
- Ta konfiguracja pozwala nadal skutecznie rozpoznawać maszyny wirtualne na podstawie nazwy hosta. Na przykład usługa CoreDNS wysyła
Ten blok jest implementowany w domyślnym bloku serwera w Corefile'u klastra. W razie potrzeby tę konfigurację odrzucenia można wyłączyć, tworząc niestandardowe bloki serwera dla odpowiedniej domeny z włączoną wtyczką przesyłania dalej:
Utwórz plik o nazwie
corednsms.yaml
i wklej następującą przykładową konfigurację. Upewnij się, że zaktualizujesz adresy IP i nazwy hostów, używając wartości dla własnego środowiska.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: override-block.server: internal.cloudapp.net:53 { errors cache 30 forward . /etc/resolv.conf } reddog.microsoft.com:53 { errors cache 30 forward . /etc/resolv.conf }
Utwórz ConfigMap przy użyciu
kubectl apply configmap
polecenia i określ nazwę manifestu YAML.kubectl apply -f corednsms.yaml
Aby ponownie załadować narzędzie ConfigMap i włączyć harmonogram Kubernetes w celu ponownego uruchomienia usługi CoreDNS bez przestoju, wykonaj ponowne uruchomienie stopniowe przy użyciu polecenia
kubectl rollout restart
.kubectl -n kube-system rollout restart deployment coredns
Rozwiązywanie problemów
Ogólne kroki rozwiązywania problemów z siecią CoreDNS, takie jak sprawdzanie punktów końcowych lub rozpoznawania, zobacz Debugowanie rozpoznawania nazw DNS.
Skonfiguruj poziome skalowanie zasobników CoreDNS
Nagłe skoki ruchu DNS w klastrach usługi AKS są typowym wystąpieniem ze względu na elastyczność zapewnianą przez usługę AKS dla obciążeń. Te nagłe wzrosty mogą prowadzić do wzrostu zużycia pamięci przez pody CoreDNS. W niektórych przypadkach zwiększone zużycie pamięci może powodować Out of memory
problemy. Aby wyprzedać ten problem, klastry usługi AKS automatycznie skalują zasobniki CoreDNS w celu zmniejszenia użycia pamięci na zasobnik. Domyślne ustawienia tej logiki automatycznego skalowania są przechowywane w coredns-autoscaler
ConfigMap. Można jednak zauważyć, że domyślne automatyczne skalowanie zasobników CoreDNS nie zawsze jest wystarczająco agresywne, aby zapobiec Out of memory
problemom z zasobnikami CoreDNS. W takim przypadku można bezpośrednio zmodyfikować coredns-autoscaler
ConfigMap. Należy pamiętać, że po prostu zwiększenie liczby zasobników CoreDNS bez rozwiązywania głównej przyczyny problemu Out of memory
może zapewnić tylko tymczasową poprawkę. Jeśli w węzłach, w których są uruchomione zasobniki CoreDNS, za mało pamięci, zwiększenie liczby zasobników CoreDNS nie pomoże. Może być konieczne dokładniejsze zbadanie oraz wdrożenie odpowiednich rozwiązań, takich jak optymalizacja użycia zasobów, dostosowanie żądań zasobów i limitów, lub dodanie większej pamięci do węzłów.
CoreDNS używa poziomego, proporcjonalnego autoskalera klastra do automatycznego skalowania zasobników.
coredns-autoscaler
ConfigMap można edytować, aby skonfigurować logikę skalowania dla liczby zasobników CoreDNS. Narzędzie coredns-autoscaler
ConfigMap obsługuje obecnie dwie różne wartości klucza ConfigMap: linear
i ladder
odpowiadające dwóm obsługiwanym trybom sterowania. Kontroler linear
zwraca liczbę replik w zakresie [min,max] odpowiadającym max( ceil( cores * 1/coresPerReplica ) , ceil( nodes * 1/nodesPerReplica ) )
. Kontroler ladder
oblicza liczbę replik, konsultując dwie różne funkcje kroków, jedną dla skalowania rdzeni, a drugą dla skalowania węzłów, co daje maksymalną wartość dwóch replik. Aby uzyskać więcej informacji na temat trybów sterowania i formatu ConfigMap, zapoznaj się z dokumentacją nadrzędną.
Ważne
Zaleca się posiadanie co najmniej 2 replik zasobników CoreDNS na klaster. Skonfigurowanie co najmniej 1 repliki zasobnika CoreDNS może spowodować awarie podczas operacji wymagających opróżniania węzłów, takich jak operacje uaktualniania klastra.
Aby pobrać coredns-autoscaler
ConfigMap, możesz uruchomić polecenie kubectl get configmap coredns-autoscaler -n kube-system -o yaml
, które zwróci następujące wyniki:
apiVersion: v1
data:
ladder: '{"coresToReplicas":[[1,2],[512,3],[1024,4],[2048,5]],"nodesToReplicas":[[1,2],[8,3],[16,4],[32,5]]}'
kind: ConfigMap
metadata:
name: coredns-autoscaler
namespace: kube-system
resourceVersion: "..."
creationTimestamp: "..."
Zachowanie pionowego automatycznego skalowania zasobników CoreDNS
CoreDNS to podstawowy dodatek zarządzany przez usługę AKS i domyślnie włączony. Aby zachować dostępność usługi CoreDNS, CoreDNS utrzymuje użycie oryginalnych podanych żądań/limitów zasobów podczas włączania funkcji automatycznego skalowania dodatku, aby zapobiec procesowi ponownego uruchomienia podu CoreDNS, co powoduje niedostępność usługi.
W przypadku dodatku AKS managed CoreDNS domyślne żądania/limity procesora CPU są ustawiane na 100 m /3 rdzeni, a żądania/limity pamięci na 70Mi/500Mi. Na podstawie tych wartości domyślnych współczynnik żądań do limitu dla procesora CPU wynosi około 1:30, a w przypadku pamięci wynosi około 1/7. Jeśli zalecane żądania procesora CPU wynoszą 500 m, VPA dostosowuje limity procesora CPU do 15 m, aby zachować ten współczynnik. Podobnie, jeśli zalecane żądania pamięci to 700Mi, VPA dostosowuje limit pamięci do 5000Mi.
VPA ustawia limity procesora i pamięci dla CoreDNS na duże wartości, na podstawie zalecanych wartości żądań CPU/pamięci VPA oraz współczynnika określonego przez AKS dla stosunku żądanie-do-limitu. Te korekty są korzystne dla obsługi wielu żądań w godzinach szczytu usługi. Wadą jest to, że CoreDNS może zużywać wszystkie dostępne zasoby CPU i pamięci na węźle w czasie szczytowego obciążenia.
Trudno jest ustawić pojedynczą idealną wartość żądań procesora CPU i pamięci/limitów, aby spełnić wymagania zarówno dużego klastra, jak i małego klastra w tym samym czasie. Dzięki włączeniu zoptymalizowanego skalowania dodatków masz elastyczność dostosowywania żądań/limitów procesora CoreDNS i pamięci lub używania usługi VPA do automatycznego skalowania sieci CoreDNS w celu spełnienia określonych wymagań klastra. Poniżej przedstawiono kilka scenariuszy, które należy wziąć pod uwagę:
- Rozważasz, czy usługa VPA jest odpowiednia dla usługi CoreDNS i chcesz wyświetlić tylko zalecenia dotyczące vpa. Możesz wyłączyć VPA dla CoreDNS, włączając tryb aktualizacji VPA do pozycji Wyłączone, jeśli nie chcesz, aby VPA automatycznie aktualizowało pody. Dostosuj konfigurację zasobu we wdrożeniu , aby ustawić żądań/limitów procesora CPU/pamięci na preferowaną wartość.
- Rozważasz użycie funkcji VPA, ale chcesz ograniczyć współczynnik żądań do limitu, dzięki czemu vpA nie będzie w tym samym czasie ograniczać limitu procesora CPU i pamięci do dużych wartości. Zasoby można dostosować w procesie wdrażania i zaktualizować wartość żądań CPU oraz pamięci/limitów, aby stosunek żądań do limitów wynosił 1/2 lub 1/3.
- Jeśli zasady kontenera VPA ustawiają maksymalne dozwolone wartości dla CPU i pamięci, zalecane żądania zasobów nie przekroczą tych limitów. Dostosowanie konfiguracji zasobów umożliwia zwiększenie lub zmniejszenie wartości maxAllowed i kontrolowanie zaleceń VPA.
Aby uzyskać więcej informacji, zobacz Włączanie automatycznego skalowania dodatków w klastrze usługi AKS (wersja zapoznawcza).
Włączanie rejestrowania zapytań DNS
Dodaj następującą konfigurację do ConfigMap coredns-custom:
apiVersion: v1 kind: ConfigMap metadata: name: coredns-custom namespace: kube-system data: log.override: | # you may select any name here, but it must end with the .override file extension log
Zastosuj zmiany konfiguracji i wymuś ponowne załadowanie ConfigMap za pomocą następujących poleceń:
# Apply configuration changes kubectl apply -f corednsms.yaml # Force CoreDNS to reload the ConfigMap kubectl -n kube-system rollout restart deployment coredns
Wyświetl rejestrowanie debugowania CoreDNS przy użyciu polecenia
kubectl logs
.kubectl logs --namespace kube-system -l k8s-app=kube-dns
Rozwiązywanie problemów z nierównomiernością ruchu w zasobnikach CoreDNS
Można zauważyć, że co najmniej jeden zasobnik CoreDNS pokazuje znacznie wyższe użycie procesora CPU i obsługuje więcej zapytań DNS niż inne, mimo że wiele zasobników CoreDNS jest uruchomionych w klastrze usługi AKS. Jest to znany problem w rozwiązaniu Kubernetes i może prowadzić do przeciążenia i awarii jednego z zasobników CoreDNS.
Ta nierówna dystrybucja zapytań DNS jest spowodowana głównie ograniczeniami równoważenia obciążenia UDP na platformie Kubernetes. Platforma używa skrótu z pięcioma krotkami (źródłowy adres IP, port źródłowy, docelowy adres IP, port docelowy, protokół) do dystrybucji ruchu UDP, więc jeśli aplikacja ponownie używa tego samego portu źródłowego dla zapytań DNS, wszystkie zapytania z tego klienta będą kierowane do tego samego zasobnika CoreDNS, co powoduje nieproporcjonalną obsługę ruchu przez jeden zasobnik.
Ponadto niektóre aplikacje używają buforowania połączeń i ponownego użycia połączeń DNS. To zachowanie może dodatkowo skoncentrować zapytania DNS na jednym zasobniku CoreDNS, pogłębiając nierównowagę i zwiększając ryzyko przeciążenia i potencjalnych awarii.
Sprawdzanie dystrybucji ruchu dla poodu CoreDNS
Przed rozpoczęciem wykonaj kroki opisane w powyższej sekcji Włączanie rejestrowania zapytań DNS , aby przechwytywać wymagane dzienniki zapytań DNS z zasobników CoreDNS. Po włączeniu tej opcji uruchom następujące polecenia:
Uruchom następujące polecenie, aby pobrać nazwy wszystkich zasobników CoreDNS w klastrze:
kubectl get pods --namespace kube-system -l k8s-app=kube-dns
Przejrzyj dzienniki dla każdego zasobnika CoreDNS, aby analizować wzorce zapytań DNS:
kubectl logs --namespace kube-system <coredns-pod1> kubectl logs --namespace kube-system <coredns-pod2> # Repeat on all CoreDNS pods
Poszukaj powtarzających się adresów IP i portów klienta, które są wyświetlane tylko w dziennikach pojedynczego zasobnika CoreDNS. Oznacza to, że zapytania DNS z niektórych klientów nie są równomiernie dystrybuowane.
Przykładowy wpis dziennika:
[INFO] 10.244.0.247:5556 - 42621 "A IN myservice.default.svc.cluster.local. udp 28" NOERROR qr,aa,rd 106 0.000141s
-
10.244.0.247
: Adres IP klienta tworzący zapytanie DNS -
5556
: Port źródłowy klienta -
42621
: Identyfikator zapytania
Jeśli ten sam adres IP klienta i port są wielokrotnie widoczne w dziennikach tylko jednego zasobnika, potwierdza to dysproporcję ruchu.
-
Jeśli zauważysz tę dysproporcję, aplikacja może ponownie używać portów źródłowych UDP lub przydzielać ich połączenia. Na podstawie głównej przyczyny można wykonać następujące działania zaradcze:
Spowodowane ponownym użyciem portu źródłowego UDP:
Ponowne użycie portu źródłowego UDP występuje, gdy aplikacja kliencka wysyła wiele zapytań DNS z tego samego portu źródłowego UDP. Jeśli jest to problem, zaktualizuj aplikacje lub klientów DNS w celu losowania portów źródłowych dla każdego zapytania DNS, co ułatwia równomierne dystrybuowanie żądań między zasobnikami.
Spowodowane przez buforowanie połączeń:
Pule połączeń to mechanizmy używane przez aplikacje do ponownego używania istniejących połączeń sieciowych zamiast tworzenia nowego połączenia dla każdego żądania. Chociaż poprawia to wydajność, może to spowodować wysłanie wszystkich zapytań DNS z aplikacji za pośrednictwem tego samego połączenia, a tym samym przekierowanie do tego samego zasobnika CoreDNS. Aby rozwiązać ten problem, dostosuj obsługę połączeń DNS aplikacji, zmniejszając czas życia połączeń (TTL) lub losowe tworzenie połączeń, zapewniając, że zapytania nie będą koncentrować się na jednym zasobniku CoreDNS.
Te zmiany mogą pomóc w osiągnięciu bardziej zrównoważonej dystrybucji zapytań DNS i zmniejszyć ryzyko przeciążenia poszczególnych zasobników.
Następne kroki
W tym artykule przedstawiono przykładowe scenariusze dostosowywania coreDNS. Aby uzyskać informacje na temat projektu CoreDNS, zobacz stronę projektu nadrzędnego CoreDNS.
Aby dowiedzieć się więcej na temat podstawowych pojęć dotyczących sieci, zobacz Pojęcia dotyczące sieci dla aplikacji w usłudze AKS.
Azure Kubernetes Service