Mettre à jour le module complémentaire autogéré Kubernetes kube-proxy - 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.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque 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.

Mettre à jour le module complémentaire autogéré Kubernetes kube-proxy

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.

Prérequis

Considérations

  • Kube-proxy sur un cluster Amazon EKS a la même politique de compatibilité et de décalage que Kubernetes. Découvrez comment vérifier la compatibilité de la version du module complémentaire Amazon EKS avec un cluster.

    1. Vérifiez que le type autogéré du module complémentaire est installé sur votre cluster. Remplacez my-cluster par le nom de votre cluster.

      aws eks describe-addon --cluster-name my-cluster --addon-name kube-proxy --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. Les étapes restantes de cette rubrique concernent la mise à jour du type autogéré du module complémentaire. Si un numéro de version est renvoyé, le type de module complémentaire Amazon EKS est installé sur votre cluster. Pour le mettre à jour, suivez la procédure décrite dans la section Mise à jour d’un module complémentaire Amazon EKS, plutôt que celle décrite dans cette rubrique. Si vous ne connaissez pas les différences entre les types d’extensions, consultez Modules complémentaires Amazon EKS.

    2. Découvrez quelle version de l'image de conteneur est actuellement installée sur votre cluster.

      kubectl describe daemonset kube-proxy -n kube-system | grep Image

      L'exemple qui suit illustre un résultat.

      Image: 602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.29.1-eksbuild.2

      Dans l’exemple de sortie, v1.29.1-eksbuild.2 est la version installée sur le cluster.

    3. Mettez à jour le module complémentaire kube-proxy en remplaçant 602401143452 et le region-code par les valeurs obtenues à l’étape précédente. Remplacez v1.30.6-eksbuild.3 par la version kube-proxy indiquée dans le tableau des dernières versions disponibles de l’image de conteneur kube-proxy autogérée pour chaque version de cluster Amazon EKS.

      Important

      Les manifestes pour chaque type d’image sont différents et ne sont pas compatibles entre les types d’images par défaut ou minimales. Vous devez utiliser le même type d’image que l’image précédente afin que le point d’entrée et les arguments correspondent.

      kubectl set image daemonset.apps/kube-proxy -n kube-system kube-proxy=602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.30.6-eksbuild.3

      L'exemple qui suit illustre un résultat.

      daemonset.apps/kube-proxy image updated
    4. Vérifiez que la nouvelle version est maintenant installée sur votre cluster.

      kubectl describe daemonset kube-proxy -n kube-system | grep Image | cut -d ":" -f 3

      L'exemple qui suit illustre un résultat.

      v1.30.0-eksbuild.3
    5. Si vous utilisez des nœuds x86 et Arm dans le même cluster et que votre cluster a été déployé avant le 17 août 2020. Ensuite, modifiez votre manifeste kube-proxy pour inclure un sélecteur de noeud pour plusieurs architectures matérielles avec la commande suivante. Il s'agit d'une opération ponctuelle. Une fois que vous avez ajouté le sélecteur à votre manifeste, vous n’avez pas besoin de l’ajouter chaque fois que vous mettez à jour le module complémentaire. Si votre cluster a été déployé à partir du 17 août 2020, kube-proxy est déjà compatible avec les architectures multiples.

      kubectl edit -n kube-system daemonset/kube-proxy

      Ajoutez le sélecteur de nœuds suivant au fichier dans l'éditeur, puis enregistrez le fichier. Pour obtenir un exemple d'inclusion de ce texte dans l'éditeur, consultez le fichier manifeste CNI sur GitHub. Cela permet à Kubernetes d’extraire l’image matérielle correcte en fonction de l’architecture matérielle du nœud.

      - key: "kubernetes.io/arch" operator: In values: - amd64 - arm64
    6. Si votre cluster a été créé à l’origine avec Kubernetes version 1.14 ou ultérieure, vous pouvez ignorer cette étape, car kube-proxy inclut déjà cette Affinity Rule. Si vous avez initialement créé un cluster Amazon EKS avec la version Kubernetes 1.13 ou une version antérieure et que vous avez l’intention d’utiliser des nœuds Fargate dans votre cluster, modifiez votre manifeste kube-proxy afin d’inclure une règle NodeAffinity empêchant les pods kube-proxy d’être planifiés sur les nœuds Fargate. Il s'agit d'une modification unique. Une fois que vous avez ajouté Affinity Rule à votre manifeste, vous n’avez pas besoin de l’ajouter chaque fois que vous mettez à niveau votre cluster. Modifiez votre Daemonset kube-proxy.

      kubectl edit -n kube-system daemonset/kube-proxy

      Ajoutez le Affinity Rule qui suit à la section DaemonSet spec du fichier dans l’éditeur, puis enregistrez le fichier. Pour obtenir un exemple d'inclusion de ce texte dans l'éditeur, consultez le fichier manifeste CNI sur GitHub.

      - key: eks.amazonaws.com/compute-type operator: NotIn values: - fargate