Contribuisci a migliorare questa pagina
Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.
Aggiornamento del componente aggiuntivo CoreDNS autogestito di Amazon EKS
Importante
Consigliamo di aggiungere al cluster il componente aggiuntivo del tipo Amazon EKS anziché quello del tipo autogestito. In caso di dubbi sulle differenze tra i due tipi, consultare la pagina Componenti aggiuntivi Amazon EKS. Per ulteriori informazioni sull'aggiunta di un componente aggiuntivo di Amazon EKS al cluster, consulta Creare un componente aggiuntivo Amazon EKS. Se non è possibile utilizzare il componente aggiuntivo di Amazon EKS, si consiglia di segnalare il problema nel repository GitHub delle roadmap dei container
Prima di iniziare, consultare 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-clustercon il nome del tuo cluster.aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output textSe 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 componente aggiuntivo del tipo Amazon EKS, utilizzare la procedura descritta alla pagina Update the CoreDNS Amazon EKS add-on anziché quella qui indicata. In caso di dubbi sulle differenze tra i tipi di componente aggiuntivo, consultare la pagina 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 3Di seguito viene riportato un output di esempio:
v1.8.7-eksbuild.2 -
Se la versione corrente di CoreDNS è
v1.5.0o successiva, ma precedente alla versione indicata nella tabella Versioni CoreDNS, saltare questa fase. Se la versione corrente è precedente alla1.5.0, è necessario modificareConfigMapper CoreDNS al fine di utilizzare il componente aggiuntivo avanzato, anziché il componente aggiuntivo proxy.-
Aprire il file
ConfigMapcon il comando seguente:kubectl edit configmap coredns -n kube-system -
Sostituire
proxynella linea seguente conforward. Salvare il file e uscire dall'editor.proxy . /etc/resolv.conf
-
-
Se il cluster è stato originariamente implementato su Kubernetes
1.17o versioni precedenti, potrebbe essere necessario rimuovere una riga obsoleta dal manifesto CoreDNS.Importante
È necessario completare questo passaggio prima di eseguire l’aggiornamento alla versione
1.7.0di CoreDNS, ma è preferibile completarlo anche si esegue 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 upstreamSe non viene restituito alcun output, nel manifesto non è presente la riga ed è possibile passare direttamente alla fase successiva per aggiornare CoreDNS. Se viene restituito l'output, è necessario rimuovere la riga di inserimento.
-
Modificare
ConfigMapcon il seguente comando, rimuovendo la riga nel file che ha la parolaupstreamin 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
-
-
Recuperare la versione attuale dell’immagine CoreDNS:
kubectl describe deployment coredns -n kube-system | grep ImageDi seguito viene riportato un output di esempio:
602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.8.7-eksbuild.2 -
Se si esegue l’aggiornamento a CoreDNS versione
1.8.3o successive, è necessario aggiungere l’autorizzazioneendpointslicesalsystem:corednsdelclusterroleKubernetes.kubectl edit clusterrole system:coredns -n kube-systemAggiungere le seguenti righe sotto le righe di autorizzazioni esistenti nella sezione
rulesdel file.[...] - apiGroups: - discovery.k8s.io resources: - endpointslices verbs: - list - watch [...] -
Aggiornare il componente aggiuntivo CoreDNS sostituendo
602401143452eregion-codecon i valori dell’output restituiti in una fase precedente. Sostituirev1.11.3-eksbuild.1con la versione CoreDNS indicata nella tabella delle versioni più recenti per la versione Kubernetes.kubectl set image deployment.apps/coredns -n kube-system coredns=602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.11.3-eksbuild.1Di 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 3Di seguito viene riportato un output di esempio:
v1.11.3-eksbuild.1