Maneira apropriada de distribuir binários ao cluster do Linux

2

Recentemente tive um desentendimento com meu chefe sobre a maneira correta de distribuir binários executáveis entre nós de computação em um cluster Linux. Todos os nós computacionais estão executando a distro e a mesma versão (especificamente o Ubuntu 14.04).

O método atual está montando um compartilhamento nfs em todos os nós de computação do nó mestre e instalando todos os executáveis (e dependências) no referido diretório. Geralmente, há 10 a 20 executáveis diferentes e eles têm atualizações uma vez a cada seis meses.

Acredito que deveríamos estar implementando pacotes deb nos nós computacionais, mas, como sou novo em clusters, sinto que estou apenas tecendo uma retórica.

Por isso, estou pedindo feedback e conselhos sobre a maneira "correta" de implantar e atualizar os binários para os nós de computação.

Obrigado!

    
por Brian 23.03.2016 / 14:10

2 respostas

3

Não há uma maneira "correta" de fazer isso. Se o compartilhamento NFS está funcionando para você, e você não é adiado pelo SPOF, é provável que ele seja introduzido, e continue usando isso.

Eu geralmente prefiro usar um sistema de gerenciamento de configuração apropriado (ansible no meu caso) para distribuir e instalar pacotes. Se o pacote estiver disponível através do repositório da sua distribuição, você poderá usar o Ansible para instalar qualquer versão específica que precisar. Se for um pacote personalizado, você poderá ter uma cópia Ansible desse pacote do seu próprio ponto de distribuição para cada servidor e depois instalá-lo.

A chave aqui, no entanto, é manter controle rígido sobre o processo, e ser capaz de fazê-lo de maneira automatizada, testável e repetível. Isso não é difícil de fazer, mas vai exigir que você aprenda um pouco sobre qualquer sistema CM escolhido.

    
por 23.03.2016 / 14:15
2

Você deseja que todas as máquinas em seu cluster tenham o mesmo repositório binário exato o tempo todo. O método usado para implantar esses binários não está relacionado a clusters.

É perfeitamente válido implantar binários manualmente usando o NFS. Dependendo do escopo de sua operação, construir seus próprios pacotes e rodar seu próprio repositório Debian pode até ser um pouco exagerado. Dito isto, usar um gerenciador de pacotes tornaria o gerenciamento de dependências e reversões mais fácil.

Como o EEAA apontou, um sistema de gerenciamento de configuração (chef, fantoche, ansible, salt) é o caminho a seguir em qualquer um dos casos, pois torna mais fácil garantir que todos os servidores estejam no mesmo estado.

    
por 23.03.2016 / 14:38