Aggiornare il componente aggiuntivo autogestito kube-proxy Kubernetes - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiornare il componente aggiuntivo autogestito kube-proxy Kubernetes

Importante

Consigliamo di aggiungere al cluster il componente aggiuntivo del tipo Amazon EKS anziché quello del tipo autogestito. Se non conosci bene le differenze tra i due tipi, consulta 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 riesci a utilizzare il componente aggiuntivo di Amazon EKS, ti invitiamo a segnalare il problema in Containers roadmap GitHub repository.

Prerequisiti

Considerazioni

  • Kube-proxy su un cluster Amazon EKS ha la stessa policy di compatibilità e disallineamento di Kubernetes. Scopri Verifying Amazon EKS add-on version compatibility with a cluster.

    1. Verifica che sul cluster sia installato il componente aggiuntivo del tipo autogestito. Sostituisci my-cluster con il nome del tuo cluster.

      aws eks describe-addon --cluster-name my-cluster --addon-name kube-proxy --query addon.addonVersion --output text

      Se viene restituito un messaggio di errore, sul cluster è installato il componente aggiuntivo del tipo autogestito. I passaggi rimanenti di questo argomento riguardano l’aggiornamento del componente aggiuntivo del tipo autogestito. Se viene restituito il numero di versione, sul cluster è installato il componente aggiuntivo del tipo Amazon EKS. Per aggiornarlo, utilizza la procedura descritta in Updating an Amazon EKS add-on anziché quella presente in questo argomento. Se non conosci bene le differenze tra i due tipi di componente aggiuntivo, consulta Componenti aggiuntivi Amazon EKS.

    2. Scopri qual è la versione dell’immagine di container attualmente installata sul cluster.

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

      Di seguito viene riportato un output di esempio:

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

      Nell’output di esempio, v1.29.1-eksbuild.2 è la versione installata sul cluster.

    3. Aggiorna il componente aggiuntivo kube-proxy sostituendo 602401143452 e region-code con i valori dell’output del passaggio precedente. Sostituisci v1.30.6-eksbuild.3 con la versione kube-proxy riportata nella tabella Latest available self-managed kube-proxy container image version for each Amazon EKS cluster version.

      Importante

      I manifesti per ogni tipo di immagine sono diversi e non compatibili tra i tipi di immagine predefiniti o minimi. È necessario utilizzare lo stesso tipo di immagine di quella precedente, in modo che il punto di ingresso e gli argomenti corrispondano.

      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

      Di seguito viene riportato un output di esempio:

      daemonset.apps/kube-proxy image updated
    4. Verifica che la nuova versione sia ora installata nel cluster.

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

      Di seguito viene riportato un output di esempio:

      v1.30.0-eksbuild.3
    5. Se utilizzi nodi x86 e Arm nello stesso cluster e il cluster è stato implementato il prima del 17 agosto 2020. Modificare, il manifesto kube-proxy attraverso il seguente comando, per includere un selettore di nodi per più architetture hardware. Questa è un’operazione da compiere una sola volta. Dopo aver aggiunto il selettore al manifesto, non occorrerà aggiungerlo ogni volta che aggiorni il componente aggiuntivo. Se il cluster è stato implementato in data 17 agosto 2020 o successiva, il kube-proxy è già in grado di supportare una multi-architettura.

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

      Aggiungere il seguente selettore di nodo al file nell’editor, quindi salvare il file. Per un esempio di dove includere questo testo nell’editor, vedere manifesto CNI su GitHub. Ciò consente a Kubernetes di estrarre l’immagine hardware corretta in base all’architettura hardware del nodo.

      - key: "kubernetes.io/arch" operator: In values: - amd64 - arm64
    6. Se il cluster è stato originariamente creato con Kubernetes 1.14 o versione successiva, è possibile saltare questo passaggio perché kube-proxy include già Affinity Rule. Se in origine hai creato un cluster Amazon EKS con la versione 1.13 di Kubernetes o precedente e intendi utilizzare nodi Fargate nel tuo cluster, modifica il manifesto kube-proxy in modo da includere una regola NodeAffinity per impedire ai pod kube-proxy la pianificazione su nodi Fargate. Questa modifica si applica una sola volta. Dopo aver aggiunto Affinity Rule al manifesto, non occorrerà aggiungerlo ogni volta che aggiorni il componente aggiuntivo. Modificare il DaemonSet kube-proxy.

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

      Aggiungi i seguenti elementi Affinity Rule alla sezione DaemonSet spec del file nell’editor e salvare il file. Per un esempio di dove includere questo testo nell’editor, vedere manifesto CNI su GitHub.

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