MongoDB / ElasticSearch no Kubernetes

1

Estou explorando o conjunto de ferramentas do Kubernetes e agora tenho meus três nós dedicados em cluster.

As próximas etapas estão migrando os projetos da nossa empresa para o cluster. Como usamos MongoDB e ElasticSearch e queremos hospedar vários projetos dentro do cluster, não sei como lidar com a persistência corretamente.

Vou usar o glusterfs com replicação rodando diretamente nos nós (não em kubernetes) e montando volumes nos pods usando

link

Devo instalar o MongoDB como ReplicaSet diretamente nos nós também ou executar uma instância do MongoDB para cada projeto dentro de um pod correspondente usando glusterfs para armazenamento replicado e backup?

Como requisito, a perda de um nó (trabalhador) deve permitir a execução dos pods perdidos em outros nós sem a perda de dados.

Como devo preservar os dados do banco de dados entre vários nós? Mesmo a replicação (MongoDB ReplicaSet e.q.) precisa de um armazenamento persistente para cada pod.

    
por christian667 22.10.2018 / 14:34

1 resposta

0

Ok, depois de algumas pesquisas, achei este artigo bastante útil:

link

Eles usam o portworx como um sds, mas o gluster deve funcionar também.

Portanto, minha solução pretendida é executar os bancos de dados de cada projeto em um pod / container separado. Com o nosso cluster de 3 nós replicarei o volume do banco de dados, mas só executarei uma instância do banco de dados de cada vez. Dessa forma, o failover e o início do contêiner do db em outro nó não devem ser um problema.

Quando adicionamos mais nós ao cluster ou o aplicativo precisa de mais instâncias de banco de dados para melhor dimensionamento, fornecerei um volume replicado para cada instância de db e conectarei os bancos de dados usando um ReplicaSet.

    
por 25.10.2018 / 13:27