Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Mettre à jour le module complémentaire CoreDNS Amazon EKS autogéré
Important
Nous recommandons d'ajouter le type Amazon EKS du module complémentaire à votre cluster au lieu d'utiliser le type autogéré du module complémentaire. Si la différence entre les types ne vous est pas familière, consultez Modules complémentaires Amazon EKS. Pour plus d'informations sur l'ajout d'un module complémentaire Amazon EKS à votre cluster, consultez Créer un module complémentaire Amazon EKS. Si vous ne pouvez pas utiliser le module complémentaire Amazon EKS, nous vous encourageons à signaler un problème expliquant pourquoi vous ne pouvez pas le faire dans le référentiel GitHub de la feuille de route des conteneurs
Avant de commencer, consultez les considérations relatives à la mise à niveau. Pour de plus amples informations, consultez Considérations importantes concernant la mise à niveau de CoreDNS.
-
Vérifiez que le type autogéré du module complémentaire est installé sur votre cluster. Remplacez
my-clusterpar le nom de votre cluster.aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output textSi un message d'erreur est renvoyé, le type autogéré du module complémentaire est installé sur votre cluster. Suivez les étapes restantes de cette procédure. Si un numéro de version est renvoyé, le type de module complémentaire Amazon EKS est installé sur votre cluster. Pour mettre à jour le type Amazon EKS du module complémentaire, suivez la procédure décrite dans Mettre à jour le module complémentaire CoreDNS Amazon EKS, plutôt que d’utiliser cette procédure. Si vous ne connaissez pas les différences entre les types d’extensions, consultez Modules complémentaires Amazon EKS.
-
Découvrez quelle version de l'image de conteneur est actuellement installée sur votre cluster.
kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3L'exemple qui suit illustre un résultat.
v1.8.7-eksbuild.2 -
Si votre version actuelle de CoreDNS est
v1.5.0ou ultérieure, mais antérieure à la version indiquée dans le tableau des versions de CoreDNS, ignorez cette étape. Si votre version actuelle est antérieure à la version1.5.0, vous devez modifier leConfigMappour que CoreDNS utilise le module complémentaire, plutôt que le module complémentaire proxy.-
Ouvrez le fichier
ConfigMapà l’aide de la commande suivante.kubectl edit configmap coredns -n kube-system -
Remplacez
proxydans la ligne suivante parforward. Enregistrez le fichier et quittez l'éditeur.proxy . /etc/resolv.conf
-
-
Si vous avez initialement déployé votre cluster sur Kubernetes
1.17ou une version précédente, vous devrez peut-être supprimer une ligne interrompue de votre manifeste CoreDNS.Important
Vous devez effectuer cette étape avant de passer à la version CoreDNS
1.7.0, mais il est recommandé de la faire même si vous passez à une version antérieure.-
Vérifiez si votre manifeste CoreDNS possède la ligne.
kubectl get configmap coredns -n kube-system -o jsonpath='{$.data.Corefile}' | grep upstreamSi aucune sortie n’est renvoyée, votre manifeste n’a pas la ligne et vous pouvez passer à l’étape suivante pour mettre à jour CoreDNS. Si la sortie est renvoyée, vous devez supprimer la ligne.
-
Modifiez la
ConfigMapen utilisant la commande suivante, en supprimant la ligne dans le fichier contenant le motupstream. Ne modifiez rien d'autre dans le fichier. Une fois la ligne supprimée, enregistrez les modifications.kubectl edit configmap coredns -n kube-system -o yaml
-
-
Récupérez la version actuelle de votre image CoreDNS :
kubectl describe deployment coredns -n kube-system | grep ImageL'exemple qui suit illustre un résultat.
602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.8.7-eksbuild.2 -
Si vous effectuez une mise à jour vers CoreDNS
1.8.3ou une version ultérieure, vous devez ajouter l’autorisationendpointslicesàsystem:corednsKubernetesclusterrole.kubectl edit clusterrole system:coredns -n kube-systemAjoutez les lignes suivantes sous les lignes d'autorisation existantes dans la section
rulesdu fichier.[...] - apiGroups: - discovery.k8s.io resources: - endpointslices verbs: - list - watch [...] -
Mettez à jour le module complémentaire CoreDNS en remplaçant
602401143452et lecode régionalpar les valeurs issues du résultat obtenu à l’étape précédente. Remplacezv1.11.3-eksbuild.1par la version CoreDNS indiquée dans le tableau des dernières versions pour votre version Kubernetes.kubectl set image deployment.apps/coredns -n kube-system coredns=602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.11.3-eksbuild.1L'exemple qui suit illustre un résultat.
deployment.apps/coredns image updated -
Vérifiez à nouveau la version d'image de conteneur pour confirmer qu'elle a été mise à jour vers la version que vous avez spécifiée à l'étape précédente.
kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3L'exemple qui suit illustre un résultat.
v1.11.3-eksbuild.1