Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions contribueront à améliorer notre guide de l'utilisateur pour tous.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Mettez à jour le CoreDNS Module complémentaire EKS autogéré Amazon
Important
Nous vous recommandons d'ajouter le EKS type Amazon du module complémentaire à votre cluster au lieu d'utiliser le type autogéré du module complémentaire. Si vous ne connaissez pas la différence entre les types, consultezEKSModules complémentaires Amazon. Pour plus d'informations sur l'ajout d'un EKS module complémentaire Amazon à votre cluster, consultezCréation d'un EKS module complémentaire Amazon. Si vous ne parvenez pas à utiliser le EKS module complémentaire Amazon, nous vous encourageons à envoyer une question expliquant pourquoi vous ne pouvez pas utiliser le module complémentaire Amazon dans le GitHub référentiel de feuilles de route des conteneurs
Avant de commencer, passez en revue les considérations relatives à la mise à niveau. Pour de plus amples informations, veuillez consulter Important CoreDNS considérations relatives aux mises à niveau.
-
Vérifiez que le type autogéré du module complémentaire est installé sur votre cluster. Remplacez
my-cluster
avec le nom de votre cluster.aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query addon.addonVersion --output text
Si 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 EKS type Amazon du module complémentaire est installé sur votre cluster. Pour mettre à jour le EKS type Amazon du module complémentaire, utilisez la procédure décrite dans Mettre à jour le EKS module complémentaire DNS Amazon principal, plutôt que d'utiliser cette procédure. Si vous ne connaissez pas les différences entre les types de modules complémentaires, consultezEKSModules complémentaires Amazon.
-
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 3
L'exemple qui suit illustre un résultat.
v1.8.7-eksbuild.2
-
Si vous êtes actuellement CoreDNS la version est
v1.5.0
ou ultérieure, mais antérieure à la version répertoriée dans le tableau des DNSversions de base, alors ignorez cette étape. Si votre version actuelle est antérieure à1.5.0
, vous devez modifier leConfigMap
pour CoreDNS pour utiliser le module complémentaire de transfert plutôt que le module complémentaire de proxy.-
Ouvrez le
ConfigMap
avec la commande suivante.kubectl edit configmap coredns -n kube-system
-
Remplacez
proxy
dans 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.17
ou plus tôt, vous devrez peut-être supprimer une ligne abandonnée de votre CoreDNS manifeste.Important
Vous devez effectuer cette étape avant de passer à CoreDNS version
1.7.0
, mais il est recommandé d'effectuer cette étape même si vous effectuez une mise à jour vers une version antérieure.-
Vérifiez si votre CoreDNS le manifeste contient la ligne.
kubectl get configmap coredns -n kube-system -o jsonpath='{$.data.Corefile}' | grep upstream
Si aucune sortie n'est renvoyée, votre manifeste ne contient pas la ligne et vous pouvez passer à l'étape suivante pour la mise à jour CoreDNS. Si la sortie est renvoyée, vous devez supprimer la ligne.
-
Modifiez la
ConfigMap
en 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 votre compte actuel CoreDNS version de l'image :
kubectl describe deployment coredns -n kube-system | grep Image
L'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.3
ou ultérieurement, vous devez ajouter l'endpointslices
autorisation àsystem:coredns
Kubernetesclusterrole
.kubectl edit clusterrole system:coredns -n kube-system
Ajoutez les lignes suivantes sous les lignes d'autorisation existantes dans la section
rules
du fichier.[...] - apiGroups: - discovery.k8s.io resources: - endpointslices verbs: - list - watch [...]
-
Mettez à jour le CoreDNS ajout en remplaçant
602401143452
andregion-code
avec les valeurs de la sortie renvoyées lors d'une étape précédente. Remplacezv1.11.3-eksbuild.1
avec le CoreDNS version répertoriée dans le tableau des dernières versions pour votre Kubernetes version.kubectl set image deployment.apps/coredns -n kube-system coredns=602401143452.dkr.ecr.region-code.amazonaws.com/eks/coredns:v1.11.3-eksbuild.1
L'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 3
L'exemple qui suit illustre un résultat.
v1.11.3-eksbuild.1