Salta al contenuto

Come posso risolvere i problemi di elezione del leader con AWS Load Balancer Controller in Amazon EKS?

2 minuti di lettura
0

I miei pod di AWS Load Balancer Controller danno esito negativo e ricevo l'errore "Forbidden" in Amazon Elastic Kubernetes Service (Amazon EKS). Oppure mi viene restituito un errore "problem running manager: error leader election lost" nei log del pod del Load Balancer Controller.

Risoluzione

Quando i pod di AWS Load Balancer Controller danno esito negativo, ricevi l'errore "Forbidden"

L'errore Forbidden si verifica quando il ruolo del cluster Amazon EKS aws-load-balancer-controller-role non è autorizzato a utilizzare risorse Lease dei gruppi API coordination.k8s.io. La nuova risorsa in entrata non funziona come previsto e le modifiche alle risorse in entrata esistenti non hanno effetto.

Ricevi il seguente errore:

"E0830 08:37:41.717952 1 leaderelection.go:330] error retrieving resource lock kube-system/aws-load-balancer-controller-leader: leases.coordination.k8s.io "aws-load-balancer-controller-leader" is forbidden: User "system:serviceaccount:kube-system:aws-load-balancer-controller" cannot get resource "leases" in API group "coordination.k8s.io" in the namespace "kube-system""

L'errore si ripete continuamente nei log del pod del controller e non sono presenti altri errori. Il riavvio del pod del controller non risolve il problema.

Nota: aggiorna AWS Load Balancer Controller alla versione 2.5.x. Inoltre, assicurati che i pod del controller siano nello stato Attivo.

Per risolvere il problema, completa i seguenti passaggi:

  1. Aggiungi le seguenti voci a aws-load-balancer-controller-role:

    ...
    ...
    - apiGroups: ["coordination.k8s.io"]
      resources: [leases]
      verbs: [get, list, watch, create, patch, update]
  2. Riavvia il pod del controller.

Per aggiungere risorse, esegui questo comando:

kubectl edit clusterrole aws-load-balancer-controller-role

Per riavviare la distribuzione, esegui questo comando:

kubectl rollout restart deployment  -n

Ricevi il messaggio "problem running manager: error leader election lost" nel log del pod del controller

Ricevi il messaggio di errore problem running manager quando nel cluster sono attive più istanze dello stesso controller. Il processo di elezione del leader ha stabilito che una delle istanze ha perso lo status di leader. Quando sono attive più istanze, è normale che un'istanza perda il suo status di leader. Il meccanismo di elezione del leader assicura che una sola istanza esegua operazioni critiche specifiche. Non serve che tu intraprenda alcuna azione.

Per assicurarti che ci sia sempre un pod leader eletto, modifica l'impostazione del numero di repliche da 2 a 3 (o un altro numero dispari).

AWS UFFICIALEAggiornata un anno fa