nós indesejados de diferentes pools na configuração do balanceador de carga

1

Em nossa configuração do google cloud (kubernetes backed) de vários projetos, cargas de trabalho e serviços (balanceadores de carga), configuramos especificamente balanceadores de carga, mas a configuração parece mudar.

Adicionamos especificamente nós aos nossos balanceadores de carga. Depois de um tempo, todos os nossos nós (de diferentes pools) são anexados a todos nossos balanceadores de carga. Depois que eles foram magicamente adicionados de volta ao balanceador de carga, nós os removemos (novamente) e, em algum momento depois, eles estão de volta.

Eu percebo que há muitas informações de implementação ausentes, mas esperava que houvesse alguns padrões bem conhecidos que alguém acha que não estaríamos seguindo. Eu tentarei o meu melhor para publicar detalhes de configuração.

    
por Brad Rust 22.05.2018 / 22:27

1 resposta

0

Quando você usa os balanceadores de carga criados manualmente no Google Cloud com Kubernetes Services e type: NodePort , é quase a mesma coisa que você usa type: Load Balancer para seus serviços, mas no segundo caso, LB é criado e gerenciado por Kubernetes, e você não precisa se preocupar com isso.

Como Service com o tipo NodePort está vinculando o endereço em todos os seus nós, eles devem ser adicionados ao LB como backend. Verifique a documentação , caminho "Modo-proxy: iptables". Talvez na sua situação, o Kubernetes tentou gerenciá-lo e adicionou todos os seus nós ao LoadBalancers, porque eles processam solicitações para seus serviços. Na verdade, não vi instalações em que o LoadBalancers foi criado manualmente e apontei para o Kubernetes.

No Google Cloud, recomendo que você use Ingress (com base no Google Load Balancer ou Nginx) ou Serviços com o type: Load Balancer , se você não precisar de roteamento personalizado.

Você pode implementá-lo assim (para o Nginx Ingress):

  • Implante Nginx Ingress Controller com o Serviço type: LoadBalancer . Ele criará para você LoadBalancer como um ponto de entrada para todo o seu tráfego.
  • Implante seu aplicativo Service com type: ClusterIP .
  • Crie um objeto Ingress para o Service de seu aplicativo e escreva todas as regras de roteamento nele.
por 25.05.2018 / 15:20