Mettez à jour le CoreDNS Module complémentaire EKS autogéré Amazon - Amazon EKS

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.

  1. 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.

  2. 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
  3. 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 le ConfigMap pour CoreDNS pour utiliser le module complémentaire de transfert plutôt que le module complémentaire de proxy.

    1. Ouvrez le ConfigMap avec la commande suivante.

      kubectl edit configmap coredns -n kube-system
    2. Remplacez proxy dans la ligne suivante par forward. Enregistrez le fichier et quittez l'éditeur.

      proxy . /etc/resolv.conf
  4. Si vous avez initialement déployé votre cluster sur Kubernetes 1.17ou 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 version1.7.0, mais il est recommandé d'effectuer cette étape même si vous effectuez une mise à jour vers une version antérieure.

    1. 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.

    2. Modifiez la ConfigMap en utilisant la commande suivante, en supprimant la ligne dans le fichier contenant le mot upstream. 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
  5. 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
  6. Si vous effectuez une mise à jour vers CoreDNS 1.8.3ou ultérieurement, vous devez ajouter l'endpointslicesautorisation à system:coredns Kubernetes clusterrole.

    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 [...]
  7. Mettez à jour le CoreDNS ajout en remplaçant 602401143452 and region-code avec les valeurs de la sortie renvoyées lors d'une étape précédente. Remplacez v1.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
  8. 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