AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1031252
Accepted
Niels Basjes
Niels Basjes
Asked: 2020-08-25 03:40:57 +0800 CST2020-08-25 03:40:57 +0800 CST 2020-08-25 03:40:57 +0800 CST

Posso ter uma configuração idêntica em todos os nós Keepalived?

  • 772

Ao tentar configurar um cluster experimental do Kubernetes (em algumas VMs no meu laptop) como "alta disponibilidade", encontrei o conselho de fazer isso usando a combinação de keepalived e haproxy ( https://github.com/kubernetes/kubeadm/blob /master/docs/ha-considerations.md#options-for-software-load-balancing ).

Olhando para as definições de configuração que eu li

${STATE} é MASTER para um e BACKUP para todos os outros hosts, portanto, o IP virtual será inicialmente atribuído ao MASTER.

${PRIORITY} deve ser maior no mestre do que nos backups. Portanto, 101 e 100, respectivamente, serão suficientes.

e essas configurações me surpreendem. Aparentemente, tenho que escolher qual desses sistemas será o mestre inicial e tenho que configurar isso "hard" nos próprios nós.

Para mim, essa configuração de "alta disponibilidade" se desvia da analogia "animal de estimação"/"gado" que encontro no Kubernetes.

Outros sistemas como, por exemplo, o HBase têm uma configuração semelhante (um ativo e vários líderes de espera) e todos são configurados "identicamente" (a seleção é feita via ZooKeeper).

Existe uma maneira de configurar o Keepalived (para uso no Kubernetes) de forma que todos os nós tenham a mesma configuração e ainda funcione corretamente?

kubernetes keepalived
  • 2 2 respostas
  • 388 Views

2 respostas

  • Voted
  1. Best Answer
    Matt
    2020-08-25T18:25:07+08:002020-08-25T18:25:07+08:00

    O próprio Kubernetes fornece serviços de "gado" para aplicativos. Embora muitos dos serviços "mestres" do kubernetes sejam baseados na mesma infraestrutura, em algum momento você precisa inicializar um serviço com algo de nível inferior para iniciar tudo.

    keepalived conforme configurado no docco do kubernetes vinculado fornece um único endereço IP virtual VRRP como o ponto de extremidade altamente disponível compartilhado entre os mestres.

    Todos os nós configuram o mesmo endereço IP (ou nome) do VRRP e movem esse endereço em torno dos mestres. A "eleição" é concluída na verificação de integridade do keepalived e na lógica de failover.

    Uma alternativa a esse método é mover a decisão de balanceamento de carga para um dispositivo externo ou para os clientes. Você pode executar um proxy reverso em cada nó ( como haproxy ) que pode pesar os servidores kube-api e concluir as verificações de integridade.

    • 2
  2. Anders
    2022-01-06T07:12:45+08:002022-01-06T07:12:45+08:00

    Percebo que este é um tópico obsoleto, mas pensei em entrar em contato de qualquer maneira, pois executei o KeepaliveD com configuração idêntica em todos os nós.

    No Debian, temos todos os nós inicialmente configurados para BACKUP e temos algum tipo de verificação de integridade que aumentará a prioridade (por exemplo, há quanto tempo o KeepaliveD está em execução ou uma verificação de integridade para o serviço local para o qual você deseja HA...)

    O VRRP v2, que é o que KeepaliveD (pelo menos as versões com as quais trabalhei) está rodando no Debian, tem um recurso de desempate, onde se a prioridade for a mesma em vários nós, o "IP mais alto" vence.

    Isso pode causar um atraso inicial se todos os nós iniciarem ao mesmo tempo, mas isso foi aceitável onde usamos isso.

    Espero que ajude.

    • 0

relate perguntas

  • Não é possível executar o Hyperkube (kubernetes) localmente via Docker

  • Distribuindo a carga de trabalho pelo Kubernetes

  • Tipo de máquina revertida da atualização do Kubernetes

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve