como o docker lida com alta disponibilidade

como o docker lida com alta disponibilidade

Vindo de um ambiente VMware, meu processo foi esse,

  1. Várias máquinas Docker (swarm), montam os mesmos armazenamentos de dados NFS
  2. Um contêiner (por exemplo, Maria dB) é implantado no enxame Docker
  3. Se um nó do enxame falhar, o serviço ainda estará em execução nos outros nós

Então eu montei/var/lib/docker/volumesem um compartilhamento NFS, em várias máquinas Docker e tentei criar um enxame. Mas eventualmente descobri que se várias máquinas Docker montarem o mesmo armazenamento de dados NFS, o serviço Docker só poderá ser iniciado em um dos nós.

Então, acho que minha pergunta é: como criar um enxame, com o mesmo serviço sendo executado em vários nós e os dados mantidos em um compartilhamento NFS?

É claro que há uma boa chance de eu ainda não ter entendido completamente a ideia de como funciona um enxame Docker e estou vendo isso de um ângulo errado.

Responder1

Correto, você não deseja compartilhar nada em/var/lib/docker, que são dados e configurações paraesse mecanismo em um único servidor.

Em um enxame, você adiciona nós ao enxame, como gerentes ou trabalhadores, e os gerentes replicam o banco de dados de consenso da balsa que armazena a configuração e o estado do enxame.

Em seguida, você cria serviços que possuem uma ou mais réplicas da mesma imagem de contêiner, iniciadas em vários nós com base nos requisitos e na disponibilidade.

Para bancos de dados, você está lidando com dados persistentes (os bancos de dados e logs de cada instância de banco de dados). Isso tem a ver com Docker Volumes (onde você armazena dados persistentes) e especificamente com qual driver de volume você escolhe. O padrão apenas armazena o volume dessa réplica de serviço (contêiner) no nó em que está sendo executado no momento. Se você deseja que o contêiner de banco de dados falhe e gire automaticamente em um novo nó (um dos recursos de um orquestrador de contêiner), você precisa usar um driver de volume diferente que seja "com reconhecimento de enxame" e saiba como garantir que A montagem NFS é colocada no nó correto para estar pronta para a réplica de serviço correta.

Você pode conferirRaio REXque atua como uma camada intermediária para gerenciar os volumes no armazenamento externo (e possui drivers próprios para o tipo de backend) ou veja olista completa na Docker Store.

informação relacionada