Meus pods do AWS Load Balancer Controller estão falhando e eu recebo o erro “Forbidden” no Amazon Elastic Kubernetes Service (Amazon EKS). Ou recebo um erro de “problem running manager: error leader election lost” nos logs do pod do controlador do balanceador de carga.
Resolução
Você recebe o erro “Forbidden” quando os pods do controlador do AWS Load Balancer falham
O erro Forbidden ocorre quando o perfil do cluster Amazon EKS aws-load-balancer-controller-role não tem permissão para alugar recursos do apiGroups coordination.k8s.io. O novo recurso de entrada não funciona conforme o esperado e as modificações nos recursos de entrada existentes não entram em vigor.
Você recebe o seguinte erro:
“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"”
O erro é registrado continuamente nos logs do pod do controlador, e não há outros erros presentes. Reiniciar o pod do controlador não resolve o problema.
Observação: atualize o AWS Load Balancer Controller para a versão 2.5.x. Além disso, certifique-se de que os pods do controlador estejam no estado Ativo.
Para solucionar esse problema, conclua as etapas a seguir:
-
Adicione as seguintes entradas ao aws-load-balancer-controller-role:
...
...
- apiGroups: ["coordination.k8s.io"]
resources: [leases]
verbs: [get, list, watch, create, patch, update]
-
Reinicie o pod do controlador.
Para adicionar recursos, execute o seguinte comando:
kubectl edit clusterrole aws-load-balancer-controller-role
Para reiniciar a implantação, execute o seguinte comando:
kubectl rollout restart deployment -n
Você recebe a mensagem “problem running manager: error leader election lost” no log do pod do controlador
Você recebe a mensagem de erro problem running manager quando várias instâncias do mesmo controlador estão ativas no cluster. O processo de eleição do líder determinou que uma das instâncias perdeu seu status de líder. Quando várias instâncias estão ativas, espera-se que uma instância perca seu status de líder. O mecanismo de eleição do líder garante que apenas uma instância realize operações críticas específicas. Você não precisa realizar nenhuma ação.
Para garantir que sempre haja um pod de líder eleito, defina a contagem de réplicas de 2 a 3 ou para outro número ímpar.