Como posso criar um cluster pequeno e incluir servidores não dedicados?

1

Queremos configurar um pequeno cluster, que armazenará alguns bancos de dados e serviços de teste em primeiro lugar. O cluster será lançado inicialmente em 8 servidores dedicados (HP G3 / G5). 6 dos servidores no mesmo rack, e dois deles estão em locais separados individuais. Fora desse cluster, temos de 2 a 4 servidores poderosos que, na maioria das vezes, não usam todos os seus próprios recursos. Isso me fez pensar que eles poderiam ser adicionados ao cluster e executar operações de cluster quando eles não estivessem usando 100% de seus recursos. Outro recurso que desejo que o cluster tenha é executar contêineres do Docker como serviços de cluster e, claro, que o cluster é HA e é balanceado por carga. Eu tenho procurado muito sobre este assunto, mas não consigo encontrar uma boa resposta.

A opção mais strong agora é instalar o Ubuntu 14.04 e o Apache Mesos e adicionar nos servidores não dedicados como escravos no cluster após o Mesos ter implementado os atributos do escravo dinâmico

    
por Bjørn 07.02.2015 / 12:58

1 resposta

0

Você tentou ver as zonas de disponibilidade? Talvez isso possa te ajudar. Sobre os containers, HA e LoadBalancing, você poderia explicar um pouco mais da sua necessidade? O Mesos é por design já redundante, pois cuida da saúde e do status das tarefas, portanto, você não precisa realmente de HA, como você pode ver nas plataformas de virtualização. O balanceamento de carga também não é realmente implementado como você pensa em usá-lo na infra-estrutura usual, pois o mesos cluster automaticamente agendará suas tarefas dependendo das ofertas e demandas de envio / recebimento, o agendador examinará os recursos globais disponíveis e fará ofertas para sua tarefa. dinamicamente.

Na verdade, em mesos você pensa em redundância e balanceamento de carga no design do seu aplicativo, e não na sua infraestrutura (mesmo se você pode construir mesos master e slave no modo HA), mas não é realmente interessante.

Eu prefiro implementar falhas como um recurso para poder gerenciar quaisquer problemas ou falhas com a infraestrutura. Por exemplo, se você quiser algo relativamente seguro, precisará de um mínimo de três servidores para a parte de masterização, além de seis servidores para a parte secundária.

Na minha infraestrutura, usamos o pequeno Linux plus docker (geralmente referenciado como distribuições atômicas agora por dia) em mestres e Linux mínimo (CentOS / RHEL 7 com binários e ferramentas estritamente essenciais, mas não distribuições atômicas) mais mesos-slave no topo.

Isso nos permite proteger nossa infraestrutura como se qualquer um dos escravos ou mestre morresse, haveria uma detecção da falha por outro membro e os serviços ou tarefas anexados seriam invalidados e, em seguida, reiniciados em outro nó, dependendo de seu aplicativo políticas de falha e recuperação.

Mas ei, mais uma vez, esta é a minha configuração e provavelmente há uma implementação muito melhor por aí.

    
por 07.02.2015 / 14:11