Aiutaci a migliorare questa pagina
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Importante
Consigliamo di aggiungere al cluster il componente aggiuntivo del tipo Amazon EKS anziché quello del tipo autogestito. Se non conosci la differenza tra i tipi, consultaComponenti aggiuntivi Amazon EKS. Per ulteriori informazioni sull'aggiunta di un componente aggiuntivo di Amazon EKS al cluster, consulta Crea un componente aggiuntivo Amazon EKS. Se non riesci a utilizzare il componente aggiuntivo Amazon EKS, ti consigliamo di segnalare un problema sul motivo per cui non puoi farlo all'archivio della roadmap GitHub di Containers
Prima di iniziare, esamina le considerazioni sull'aggiornamento. Per ulteriori informazioni, consulta Considerazioni importanti sull'aggiornamento di CoredNS.
-
Verifica che sul cluster sia installato il componente aggiuntivo del tipo autogestito. Sostituisci
my-cluster
con il nome del cluster.aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output text
Se viene restituito un messaggio di errore, sul cluster è installato il componente aggiuntivo del tipo autogestito. Completa i passaggi rimanenti di questa procedura. Se viene restituito il numero di versione, sul cluster è installato il tipo Amazon EKS del componente aggiuntivo. Per aggiornare il tipo di componente aggiuntivo Amazon EKS, utilizza la procedura in Aggiornamento del componente aggiuntivo CoredNS Amazon EKS, anziché utilizzare questa procedura. Se non conosci le differenze tra i tipi di componenti aggiuntivi, consulta. Componenti aggiuntivi Amazon EKS
-
Scopri qual è la versione dell'immagine di container attualmente installata sul cluster.
kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3
Di seguito viene riportato un output di esempio:
v1.8.7-eksbuild.2
-
Se la versione corrente di CoreDNS
v1.5.0
è o successiva, ma precedente alla versione elencata nella tabella delle versioni di CoreDNS, salta questo passaggio. Se la versione corrente è precedente alla1.5.0
, è necessario modificare il componente aggiuntivoConfigMap
per CoredNS per utilizzare il componente aggiuntivo forward, anziché il componente aggiuntivo proxy.-
Aprire il file
ConfigMap
con il seguente comando.kubectl edit configmap coredns -n kube-system
-
Sostituire
proxy
nella linea seguente conforward
. Salvare il file e uscire dall'editor.proxy . /etc/resolv.conf
-
-
Se originariamente hai distribuito il cluster su Kubernetes
1.17
o in una versione precedente, potrebbe essere necessario rimuovere una riga interrotta dal manifesto di CoredNS.Importante
È necessario completare questo passaggio prima di eseguire l'aggiornamento alla
1.7.0
versione di CoredNS, ma si consiglia di completare questo passaggio anche se si sta eseguendo l'aggiornamento a una versione precedente.-
Controllare se il manifesto CoreDNS presenta la riga di inserimento.
kubectl get configmap coredns -n kube-system -o jsonpath='{$.data.Corefile}' | grep upstream
Se non viene restituito alcun output, nel file manifest non è presente la riga e puoi passare al passaggio successivo per aggiornare CoredNS. Se viene restituito l'output, è necessario rimuovere la riga di inserimento.
-
Modificare
ConfigMap
con il seguente comando, rimuovendo la riga nel file che ha la parolaupstream
in esso. Non apportare ulteriori modifiche al file. Una volta rimossa la riga di inserimento, salvare le modifiche.kubectl edit configmap coredns -n kube-system -o yaml
-
-
Recupera la versione attuale dell'immagine CoredNS:
kubectl describe deployment coredns -n kube-system | grep Image
Di seguito viene riportato un output di esempio:
602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.8.7-eksbuild.2
-
Se stai eseguendo l'aggiornamento a
1.8.3
CoredNS o versioni successive, devi aggiungereendpointslices
l'autorizzazione a Kubernetes.system:coredns
clusterrole
kubectl edit clusterrole system:coredns -n kube-system
Aggiungere le seguenti righe sotto le righe di autorizzazioni esistenti nella sezione
rules
del file.[...] - apiGroups: - discovery.k8s.io resources: - endpointslices verbs: - list - watch [...]
-
Aggiorna il componente aggiuntivo CoredNS
602401143452
sostituendoregion-code
e con i valori dell'output restituito in un passaggio precedente. Sostituisciv1.11.3-eksbuild.1
con la versione di CoredNS elencata nella tabella delle versioni più recenti per la tua versione di Kubernetes.kubectl set image deployment.apps/coredns -n kube-system coredns=602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.11.3-eksbuild.1
Di seguito viene riportato un output di esempio:
deployment.apps/coredns image updated
-
Controlla nuovamente la versione dell'immagine del container per accertarti che sia stata aggiornata alla versione specificata nel passaggio precedente.
kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3
Di seguito viene riportato un output di esempio:
v1.11.3-eksbuild.1