Configurazione del provider DNS del cluster
A ogni servizio nel tuo cluster IBM Cloud® Kubernetes Service viene assegnato un nome DNS (Domain Name System) che il provider DNS del cluster registra per risolvere le richieste DNS. Per ulteriori informazioni sul DNS per i servizi e i pod, consultare la documentazione " Kubernetes ".
Il provider DNS del cluster è CoreDNS, un server DNS autorevole e multiuso che offre un’integrazione retrocompatibile, ma estensibile, con Kubernetes. Poiché CoreDNS è un singolo
eseguibile e un singolo processo, ha meno dipendenze e parti mobili che potrebbero presentare problemi rispetto ad altri provider DNS del cluster. Il progetto è scritto con lo stesso linguaggio del progetto Kubernetes, Go, che aiuta
a proteggere la memoria. Infine, CoreDNS supporta casi d'uso più flessibili rispetto ad altri provider di DNS a cluster, poiché consente di creare voci DNS personalizzate, come quelle illustrate nelle configurazioni standard riportate nella documentazione all'indirizzo CoreDNS.
- CoreDNS e modifiche alla NodeLocal configurazione della cache DNS nella versione 1.34 e successive
- Il tempo di cache DNS predefinito nelle configurazioni DNS NodeLocal e CoreDNS è stato aumentato da 30 secondi a 120 secondi. Questa modifica si applica alle ConfigMap impostazioni per la cache DNS. Alcuni utenti hanno raggiunto i limiti di traffico di pDNS (o UDP ) a causa delle frequenti ricerche DNS causate dalla breve durata della cache. Un intervallo di cache di 30 secondi è raramente necessario, tranne che per i record DNS che cambiano molto frequentemente, ad esempio gli endpoint di controllo dello stato. Per la maggior parte dei carichi di lavoro, una cache predefinita di 120 secondi offre prestazioni migliori e riduce il traffico DNS non necessario. Gli utenti che necessitano di tempi di cache più brevi per casi d'uso specifici possono sovrascrivere questa impostazione.
Ridimensionamento automatico del provider DNS del cluster
Per impostazione predefinita, CoreDNS include una distribuzione per ridimensionare automaticamente i pod CoreDNS in risposta al numero di nodi di lavoro e core all'interno del cluster. Puoi ottimizzare i parametri dell'autoscaler CoreDNS modificando la mappa di configurazione del ridimensionamento automatico CoreDNS. Ad esempio, se le tue applicazioni fanno un uso elevato del provider DNS del cluster, potresti dover aumentare il numero minimo di pod CoreDNS per supportare l'applicazione. Per ulteriori informazioni, consultare la documentazione relativa a “ Kubernetes ”.
Prima di iniziare: Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.
-
Verifica che la distribuzione dell'autoscaler CoreDNS sia disponibile. Nel tuo output della CLI, verifica che una distribuzione sia disponibile (AVAILABLE).
kubectl get deployment -n kube-system coredns-autoscalerOutput di esempio
NAME READY UP-TO-DATE AVAILABLE AGE coredns-autoscaler 1/1 1 1 69d -
Modifica le impostazioni predefinite per l'autoscaler CoreDNS. Cerca il campo
data.linear, che per impostazione predefinita utilizza un pod CoreDNS per 16 nodi di lavoro o 256 core, con un minimo di due pod CoreDNS indipendentemente dalla dimensione del cluster (preventSinglePointFailure: true). Per ulteriori informazioni, vedi la documentazione di Kubernetes.kubectl edit configmap -n kube-system coredns-autoscalerOutput di esempio
apiVersion: v1 data: linear: '{"coresPerReplica":256,"nodesPerReplica":16,"preventSinglePointFailure":true}' kind: ConfigMap metadata: ...
Personalizzazione del provider DNS del cluster
Puoi personalizzare CoreDNS modificando la relativa mappa di configurazione. Ad esempio, potresti voler configurare dei domini stub e dei server DNS upstream per risolvere i servizi che puntano ad host esterni. Inoltre, è possibile configurare più file Corefile all'indirizzo CoreDNS ConfigMap. Per ulteriori informazioni, consultare la documentazione relativa a “ Kubernetes ”.
NodeLocal La cache DNS si basa su CoreDNS per mantenere la cache delle risoluzioni DNS. Mantenere invariate la cache DNS NodeLocal applicabile e CoreDNS le configurazioni quali i domini stub per garantire la coerenza
della risoluzione DNS.
Prima di iniziare: Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.
-
Verifica che la distribuzione CoreDNS sia disponibile. Nel tuo output della CLI, verifica che una distribuzione sia disponibile (AVAILABLE).
kubectl get deployment -n kube-system corednsOutput di esempio
NAME READY UP-TO-DATE AVAILABLE AGE coredns 3/3 3 3 69d -
Modifica le impostazioni predefinite per la mappa di configurazione di CoreDNS. Utilizza un Corefile nella sezione
datadella mappa di configurazione per personalizzare i domini stub e i server DNS upstream. Per ulteriori informazioni, consultare la documentazione relativa a “ Kubernetes ”.Il CoreDNS
proxyplug-in è deprecato e sostituito dalforwardplug-in. Se aggiorni la mappa di configurazione CoreDNS, assicurati di sostituire tutte le istanzeproxyconforward.kubectl edit configmap -n kube-system corednsCoreDNS esempio di output
apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system data: Corefile: | import <MyCorefile> .:53 { errors health { lameduck 10s } ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 } prometheus :9153 forward . /etc/resolv.conf { max_concurrent 1000 } cache 30 { disable success cluster.local disable denial cluster.local } loop reload loadbalance } <MyCorefile>: | abc.com:53 { errors cache 30 loop forward . 1.2.3.4 } -
Facoltativo: aggiungi i Corefile personalizzati alla mappa di configurazione di CoreDNS. Nell'esempio seguente, includi il file
importnella sezionedata.Corefilee completa la sezionedata.con le informazioni personalizzate relative al tuoCorefile. Per ulteriori informazioni, consultare la documentazione sull'importazione di Corefile.Il CoreDNS
proxyplug-in è deprecato e sostituito dalforwardplug-in. Se aggiorni la mappa di configurazione CoreDNS, assicurati di sostituire tutte le istanzeproxyconforward.kubectl edit configmap -n kube-system corednsOutput dell'esempio Corefile personalizzato
apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system data: Corefile: | import <MyCorefile> .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure upstream 172.16.0.1 fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf { max_concurrent 1000 } cache 30 { disable success cluster.local disable denial cluster.local } loop reload loadbalance } <MyCorefile>: | abc.com:53 { errors cache 30 loop forward . 1.2.3.4 } -
Dopo qualche minuto, i pod CoreDNS rilevano le modifiche della mappa di configurazione.
Configurazione della cache DNS NodeLocal
Configura l'agent di memorizzazione nella cache DNS NodeLocal su determinati nodi di lavoro per migliorare le prestazioni e la disponibilità del DNS nel tuo cluster IBM Cloud Kubernetes Service. Per ulteriori informazioni, consultare
la documentazione di Kubernetes.
Per impostazione predefinita, le richieste DNS del cluster relative ai pod che utilizzano una politica DNS " ClusterFirst " vengono inviate al servizio DNS del cluster. Se abiliti la memorizzazione nella cache DNS NodeLocal su un nodo di lavoro, le richieste DNS del cluster per questi pod che si trovano sul nodo
di lavoro vengono inviate invece alla cache DNS locale, che è in ascolto sull'indirizzo IP locale di collegamento 169.254.20.10. La cache DNS ascolta anche l'IP cluster del servizio kube-dns nello spazio dei nomi kube-system.
Non aggiungere l'etichetta della cache DNS se nel cluster si utilizza già un DNS "zone-aware". Inoltre, la cache NodeLocal DNS si basa su CoreDNS per mantenere la cache delle risoluzioni DNS.
Mantenere invariate la cache DNS NodeLocal applicabile e CoreDNS le configurazioni quali i domini stub per garantire la coerenza della risoluzione DNS.
- Versione 1.34 e e precedenti
NodeLocalLa cache DNS è opt-in. È necessario abilitarlo manualmente aggiungendo l'etichettaibm-cloud.kubernetes.io/node-local-dns-enabled=trueai nodi worker.- Versione 1.35 e e successive
NodeLocalLa cache DNS è abilitata per impostazione predefinita su tutti i nodi worker. Nei cluster aggiornati alla versione 1.35 il DNS di NodeLocal è abilitato automaticamente, a meno che non si scelga di non farlo. Per evitare l'abilitazione automatica, applicare l'etichettaibm-cloud.kubernetes.io/node-local-dns-disabled=trueai nodi worker prima di eseguire l'aggiornamento.
Per ulteriori informazioni sulle modifiche alla versione 1.35, consultare le informazioni sulla versione 1.35.
Abilita la cache DNS NodeLocal
Abilita la cache DNS NodeLocal per uno o più nodi di lavoro nel tuo cluster Kubernetes.
- Versione 1.35 e e successive
- NodeLocal Il DNS è abilitato per impostazione predefinita su tutti i nodi worker. Seguire questi passaggi solo se si è precedentemente disabilitato NodeLocal DNS o se si stanno aggiungendo nuovi nodi worker con NodeLocal DNS disabilitato.
- Versione 1.34 e e precedenti
- NodeLocal Il DNS è opt-in. Seguite questi passaggi per abilitarlo sui vostri nodi worker.
La seguente procedura aggiorna i pod DNS che vengono eseguiti su specifici nodi di lavoro. Puoi anche etichettare il pool di nodi di lavoro in modo che i nodi futuri ereditino l'etichetta.
Prima di iniziare, aggiorna tutte le politiche di rete relative all'uscita DNS interessate da questa funzionalità, come ad esempio quelle che si basano su selettori di pod o namespace per l'uscita DNS.
kubectl get networkpolicy --all-namespaces -o yaml
-
Se hai personalizzato dei domini stub e dei server DNS upstream per CoreDNS, devi anche personalizzare la cache DNS
NodeLocalcon questi domini stub e server DNS upstream. -
Elenca i nodi nel tuo cluster. I pod dell'agent di memorizzazione in cache DNS
NodeLocalfanno parte di un insieme di daemon che viene eseguito su ciascun nodo.kubectl get nodes -
Aggiungi l'etichetta
ibm-cloud.kubernetes.io/node-local-dns-enabled=trueal nodo di lavoro. L'etichetta avvia il pod dell'agent di memorizzazione in cache DNS sul nodo di lavoro.- Aggiungere l'etichetta a uno o più nodi di lavoro.
-
Per etichettare tutti i nodi di lavoro del cluster: Aggiungi l'etichetta a tutti i pool di nodi di lavoro esistenti.
-
Per etichettare un singolo nodo di lavoro:
kubectl label node <node_name> --overwrite "ibm-cloud.kubernetes.io/node-local-dns-enabled=true"
-
- Verifica che il nodo abbia l'etichetta controllando che il campo
NODE-LOCAL-DNS-ENABLEDsia impostato sutrue.
kubectl get nodes -L "ibm-cloud.kubernetes.io/node-local-dns-enabled" ``` Output di esempio ```sh {: screen} NAME STATUS ROLES AGE VERSION NODE-LOCAL-DNS-ENABLED 10.xxx.xx.xxx Ready,SchedulingDisabled <none> 28h v1.35+IKS true ``` 3. Verifica che il pod dell'agent di memorizzazione in cache DNS sia in esecuzione sul nodo di lavoro. ```sh {: pre} kubectl get pods -n kube-system -l k8s-app=node-local-dns -o wide ``` Output di esempio ```sh {: screen} NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES node-local-dns-pvnjn 1/1 Running 0 1m 10.xxx.xx.xxx 10.xxx.xx.xxx <none> <none> ``` - Aggiungere l'etichetta a uno o più nodi di lavoro.
-
Ripeti i passi precedenti per ciascun nodo di lavoro per abilitare la memorizzazione in cache DNS.
Disabilita la cache DNS NodeLocal
Puoi disabilitare la cache DNS NodeLocal per uno o più nodi di lavoro.
- Versione 1.35 e e successive
-
Per disabilitare NodeLocal DNS, che è abilitato per impostazione predefinita, aggiungere l'etichetta
ibm-cloud.kubernetes.io/node-local-dns-disabled=trueai nodi worker.kubectl label node --all --overwrite "ibm-cloud.kubernetes.io/node-local-dns-disabled=true" - Versione 1.34 e e precedenti
-
Per disabilitare NodeLocal DNS, rimuovere l'etichetta
ibm-cloud.kubernetes.io/node-local-dns-enableddai nodi worker.
-
Rimuovi l'etichetta
ibm-cloud.kubernetes.io/node-local-dns-enableddal nodo di lavoro. Questa azione termina il pod dell'agent di memorizzazione in cache DNS sul nodo di lavoro.Esegui il seguente comando per rimuovere l'etichetta da tutti i nodi di lavoro nel cluster.
kubectl label node --all --overwrite "ibm-cloud.kubernetes.io/node-local-dns-enabled-"Immetti questo comando per rimuovere l'etichetta da un singolo nodo di lavoro.
kubectl label node <node_name> "ibm-cloud.kubernetes.io/node-local-dns-enabled-"- Verifica che l'etichetta sia stata rimossa controllando che il campo
NODE-LOCAL-DNS-ENABLEDsia vuoto.
kubectl get nodes -L "ibm-cloud.kubernetes.io/node-local-dns-enabled" ``` Output di esempio ```sh {: screen} NAME STATUS ROLES AGE VERSION NODE-LOCAL-DNS-ENABLED 10.xxx.xx.xxx Ready,SchedulingDisabled <none> 28h v1.35+IKS ``` 2. Verifica che il pod non sia più in esecuzione sul nodo dove la cache DNS è disabilitata. L'output non mostra alcun pod. ```sh {: pre} kubectl get pods -n kube-system -l k8s-app=node-local-dns -o wide ``` Output di esempio ```sh {: screen} No resources found. ``` - Verifica che l'etichetta sia stata rimossa controllando che il campo
-
Ripeti i passi precedenti per ogni nodo di lavoro per disabilitare la memorizzazione in cache DNS.
Personalizzazione della cache DNS NodeLocal
È possibile personalizzare la cache DNS NodeLocal modificando una delle due mappe di configurazione.
node-local-dnsConfigMap: Personalizza la configurazione dellaNodeLocalcache DNS.node-local-dns-configConfigMap: Estendere la configurazione della cache DNSNodeLocalpersonalizzando domini stub o server DNS upstream per risolvere servizi che puntano a host esterni.
NodeLocal La cache DNS si basa su CoreDNS per mantenere la cache delle risoluzioni DNS. Mantenere invariate la cache DNS NodeLocal applicabile e CoreDNS le configurazioni quali i domini stub per garantire la coerenza
della risoluzione DNS.
Modifica di node-local-dns ConfigMap per aggiornamenti di configurazione generali
Modifica il node-local-dnsConfigMap per personalizzare la configurazione NodeLocal della cache DNS.
Prima di iniziare: Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.
-
Verifica che la serie di daemon della cache DNS
NodeLocalsia disponibile.kubectl get ds -n kube-system node-local-dnsOutput di esempio
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE node-local-dns 4 4 4 4 4 ibm-cloud.kubernetes.io/node-local-dns-enabled=true 82d -
Modificare le impostazioni predefinite o aggiungere i Corefile personalizzati alla
NodeLocalcache DNS ConfigMap. Ogni Corefile che importi deve utilizzare il percorsocoredns. Per ulteriori informazioni, consultare la documentazione relativa a “ Kubernetes ”.Solo una serie limitata di plug-in è supportata per la cache DNS
NodeLocal.kubectl edit configmap -n kube-system node-local-dnsOutput di esempio
apiVersion: v1 kind: ConfigMap metadata: name: node-local-dns namespace: kube-system data: Corefile: | # Add your NodeLocal DNS customizations as import files under ./coredns directory. # Refer to /docs/containers?topic=containers-cluster_dns for details. import ./coredns/<MyCorefile> cluster.local:53 abc.com:53 { errors cache { success 9984 30 denial 9984 5 } reload loop bind 169.254.20.10 172.21.0.10 forward . __PILLAR__CLUSTER__DNS__ { force_tcp } prometheus :9253 health 169.254.20.10:8080 } in-addr.arpa:53 { errors cache 30 reload loop bind 169.254.20.10 172.21.0.10 forward . __PILLAR__CLUSTER__DNS__ { force_tcp } prometheus :9253 } ip6.arpa:53 { errors cache 30 reload loop bind 169.254.20.10 172.21.0.10 forward . __PILLAR__CLUSTER__DNS__ { force_tcp } prometheus :9253 } .:53 { errors cache 30 { disable success cluster.local disable denial cluster.local } reload loop bind 169.254.20.10 172.21.0.10 forward . __PILLAR__UPSTREAM__SERVERS__ { force_tcp } prometheus :9253 } <MyCorefile>: | # Add custom corefile content ... -
Dopo pochi minuti, i pod della cache DNS
NodeLocalrilevano le modifiche della mappa di configurazione.
Modifica di node-local-dns-config ConfigMap per l'estensione con domini stub o server upstream
Modifica il node-local-dns-configConfigMap per estendere la configurazione NodeLocal della cache DNS, ad esempio personalizzando i domini stub o i server DNS upstream. Per ulteriori informazioni, consultare la
documentazione relativa a “ Kubernetes ”.
Prima di iniziare: Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.
-
Verifica che la serie di daemon della cache DNS
NodeLocalsia disponibile.kubectl get ds -n kube-system node-local-dnsOutput di esempio
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE node-local-dns 4 4 4 4 4 ibm-cloud.kubernetes.io/node-local-dns-enabled=true 82d -
Conferma che la cache DNS
NodeLocalabbia una mappa di configurazione.- Determina se la mappa di configurazione della cache DNS
NodeLocalDNS esiste.
kubectl get cm -n kube-system node-local-dns-config ``` Esempio di output nel caso in cui non esista alcun file “ ConfigMap ” ```sh {: screen} Error from server (NotFound): ConfigMaps "node-local-dns-config" not found ``` 2. Se la mappa di configurazione non esiste, crea una mappa di configurazione della cache DNS `NodeLocal`. ```sh {: pre} kubectl create cm -n kube-system node-local-dns-config ``` Output di esempio ```sh {: screen} configmap/node-local-dns-config created ``` - Determina se la mappa di configurazione della cache DNS
-
Modifica la mappa di configurazione della cache DNS
NodeLocal. La mappa di configurazione utilizza la sintassi KubeDNS per personalizzare i domini stub e i server DNS upstream. Per ulteriori informazioni, consultare la documentazione relativa a “ Kubernetes ”.kubectl edit cm -n kube-system node-local-dns-configOutput di esempio
apiVersion: v1 kind: ConfigMap metadata: name: node-local-dns-config namespace: kube-system data: stubDomains: | {"abc.com" : ["1.2.3.4"]} -
Dopo pochi minuti, i pod della cache DNS
NodeLocalrilevano le modifiche della mappa di configurazione.
Configurazione di DNS con zone
Configura il DNS con riconoscimento della zona per migliorare le prestazioni e la disponibilità del DNS del cluster nel tuo cluster IBM Cloud Kubernetes Service multizona.
Questa configurazione estende la cache DNS NodeLocal per preferire il traffico DNS del cluster all'interno della stessa zona.
Per impostazione predefinita, il tuo cluster è configurato con risorse DNS a livello di cluster e non con risorse DNS con riconoscimento della zona. Anche dopo aver configurato il DNS con riconoscimento della zona, le risorse DNS a livello di cluster rimangono in esecuzione come DNS di backup. Le tue risorse DNS con riconoscimento della zona sono separate dal DNS a livello di cluster e la modifica del DNS con riconoscimento della zona non influisce sul DNS a livello di cluster.
Non utilizzare l'etichetta della cache DNS quando si utilizza il DNS "zone-aware" nel proprio cluster.
Configurazione di DNS con zone
Completa il seguente passo per configurare il DNS consapevole della zona nel tuo cluster multizona.
-
Aggiornare tutte le politiche di rete in uscita DNS interessate dal DNS "zone-aware", come ad esempio quelle che si basano su selettori di pod o di namespace per l'uscita DNS. Esegui il seguente comando per visualizzare l'elenco delle tue politiche di rete.
kubectl get networkpolicy --all-namespaces -o yaml -
Etichettare
corednsConfigMap nello spazio dei nomikube-systemconibm-cloud.kubernetes.io/deploy-zone-aware-dns=true.kubectl label cm -n kube-system coredns --overwrite "ibm-cloud.kubernetes.io/deploy-zone-aware-dns=true" -
Aggiorna il master cluster per distribuire le risorse DNS sensibili alla zona.
ibmcloud ks cluster master refresh -c CLUSTER_NAME_OR_ID -
Controlla il completamento dell'operazione di aggiornamento esaminando il campo Master Health nei dettagli del cluster.
ibmcloud ks cluster get -c CLUSTER_NAME_OR_ID -
Se hai personalizzato dei domini stub e dei server DNS upstream per CoreDNS, devi anche personalizzare la cache DNS
NodeLocalcon questi domini stub e server DNS upstream. -
Imposta una variabile di ambiente per le zone del cluster.
ZONES=$(kubectl get nodes --no-headers --ignore-not-found=true -o jsonpath='{range .items[*]}{.metadata.labels.topology\.kubernetes\.io/zone}{"\n"}{end}' | uniq) -
Avvia i pod CoreDNS e dell'autoscaler CoreDNS in tutte le zone.
for ZONE in ${ZONES}; do kubectl scale deployment -n kube-system "coredns-autoscaler-${ZONE}" --replicas=1 done -
Verifica che i pod CoreDNS e dell'autoscaler CoreDNS siano in esecuzione in tutte le zone.
for ZONE in ${ZONES}; do kubectl get pods -n kube-system -l "k8s-app=coredns-autoscaler-${ZONE}" -o wide kubectl get pods -n kube-system -l "k8s-app=coredns-${ZONE}" -o wide done -
Avvia i pod della cache DNS
NodeLocalsu tutti i nodi di lavoro.kubectl label nodes --all --overwrite "ibm-cloud.kubernetes.io/zone-aware-dns-enabled=true" -
Verifica che i pod della cache DNS
NodeLocalsiano in esecuzione su tutti i nodi di lavoro.for ZONE in ${ZONES}; do kubectl get pods -n kube-system -l "k8s-app=node-local-dns-${ZONE}" -o wide done -
Etichetta i tuoi pool di nodi di lavoro in modo che i futuri nodi di lavoro ereditino l'etichetta
ibm-cloud.kubernetes.io/zone-aware-dns-enabled=true.
Disabilitazione ed eliminazione del DNS con riconoscimento della zona
Per rimuovere il DNS con riconoscimento della zona, devi prima disabilitarlo in ogni zona del tuo cluster multizona. Quindi, elimina le risorse DNS con riconoscimento della zona.
-
Rimuovi l'etichetta
ibm-cloud.kubernetes.io/zone-aware-dns-enabled=truedal tuo pool di nodi di lavoro. -
Imposta una variabile di ambiente per le zone nel cluster.
ZONES=$(kubectl get nodes --no-headers --ignore-not-found=true -o jsonpath='{range .items[*]}{.metadata.labels.topology\.kubernetes\.io/zone}{"\n"}{end}' | uniq) -
Arresta i pod della cache DNS
NodeLocalsu tutti i nodi di lavoro.kubectl label nodes --all --overwrite "ibm-cloud.kubernetes.io/zone-aware-dns-enabled-" -
Arresta i pod dell'autoscaler CoreDNS in tutte le zone.
for ZONE in ${ZONES}; do kubectl scale deployment -n kube-system "coredns-autoscaler-${ZONE}" --replicas=0 done -
Verifica che i pod dell'autoscaler CoreDNS non siano più in esecuzione in tutte le zone.
for ZONE in ${ZONES}; do kubectl get pods -n kube-system -l "k8s-app=coredns-autoscaler-${ZONE}" done -
Arresta i pod CoreDNS in tutte le zone.
for ZONE in ${ZONES}; do kubectl scale deployment -n kube-system "coredns-${ZONE}" --replicas=0 done -
Rimuovi l'etichetta
ibm-cloud.kubernetes.io/deploy-zone-aware-dns=truedalla mappa di configurazionecorednsnello spazio dei nomikube-system.kubectl label cm -n kube-system coredns --overwrite "ibm-cloud.kubernetes.io/deploy-zone-aware-dns-" -
Aggiorna il master cluster per eliminare le risorse DNS con riconoscimento della zona.
ibmcloud ks cluster master refresh --cluster CLUSTER_NAME_OR_ID -
Controlla il completamento dell'operazione di aggiornamento esaminando il campo Master Health nei dettagli del cluster.
ibmcloud ks cluster get -c CLUSTER_NAME_OR_ID