Fuja dos Ingresses no Kubernetes

Eu estava escrevendo um post sobre como usar Ingresses no Kubernetes para reduzir o custo com Load Balancers da Amazon. Enquanto eu fazia as alterações, surgiram vários problemas com os Ingresses, que só podem ser descritos como uma feature muito mal planejada do Kubernetes, porque não serve para nada.

Posso resumir os problemas dos Ingresses de uma forma simples: não são nada flexíveis. Tarefas que deveriam ser simples são absolutamente impossíveis quando se usa um Ingress. Eu precisava apenas que o cabeçalho HTTP Authorization chegasse ao meu serviço atrás do Ingress. Apenas isso. Pois bem, isso é impossível. O Ingress sempre vai limpar qualquer valor recebido nesse cabeçalho antes de passar a requisição para o backend. E não existe nenhuma forma de configurar isso, é hard coded.

Depois da migração de Load Balancers para Ingress, o login no sistema simplesmente parou de funcionar. Culpa do Ingress.

Então a dica é simples: nunca use Ingress com o Kubernetes. Pelo menos espere até ele ser bem desenvolvido.

PS: talvez exista alguma forma de contornar isso, mas não tive tempo de pesquisar. A correção do problema era urgente e o mais simples foi voltar a usar Load Balancers. Se alguém souber uma solução, por favor comente 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *