Você não precisa de ELBs e ALBs.
Dedique alguns dos nós do cluster para serem nós do balanceador de carga. Coloque-os em um grupo de nós diferente, dê a eles algum rótulo: mynodelabel/ingress: nginx
e, em seguida, hospede um daemonset de ingresso nginx nesse grupo de nós.
As opções mais importantes são:
spec:
restartPolicy: Always
dnsPolicy: ClusterFirst
hostNetwork: true
nodeSelector:
mynodelabel/ingress: nginx
e
ports:
- containerPort: 80
hostPort: 80
- containerPort: 443
hostPort: 443
Desta forma, você obtém tráfego de usuário bruto!
O controlador de entrada Nginx funciona perfeitamente com o kube-lego Vamos criptografar!
Atribua os elipsIPs aos nós do balanceador de carga do K8s e aponte apenas a entrada de DNS do route53 para eles.
Opcionalmente, você pode contaminar os nós do balanceador de carga para que os pods comuns não funcionem neles e diminuam o nginx.