Por que os arquivos do Kubernetes HostPath são de nó único?

1

No Kubernetes, você pode criar um volume para montar em um pod com o tipo "HostPath" para especificar que o armazenamento deve ser fornecido por um diretório no nó que executa o pod.

A documentação especifica "teste de nó único apenas - o armazenamento local não é suportado de forma alguma e NÃO FUNCIONARá em um cluster de vários nós", mas não consigo encontrar nenhuma documentação sobre por que isso é.

Uma razão que ocorre para mim é que o caminho precisaria existir em todos os nós do cluster e precisaria ser consistente para que o pod pudesse ser movido sem problemas de nó para nó. Mas seria fácil montar um disco NFS em um ponto de montagem consistente em todos os nós para que a restrição fosse satisfeita.

Existem outras razões pelas quais alguém sabe? Talvez o plugin "HostPath" simplesmente não tenha sido projetado para uso em produção porque os outros são mais geralmente úteis, o esforço de codificação foi para os outros?

    
por Giles Thomas 16.05.2017 / 18:48

1 resposta

2

Como você disse, é porque os dados não serão sincronizados em vários nós. Provavelmente, é necessário fazer alguma solução de sincronização estranha em vários nós se apenas um pod acessar os dados por vez, mas isso rapidamente se torna uma dor de cabeça com vários pods.

Em vez de sincronizar o diretório com algo como nfs, use-o como seu volume em vez de um volume do HostPath. O Kubernetes suporta o nfs como um volume e muitas outras soluções também.

    
por 19.08.2017 / 05:45

Tags