1
resposta

Kubernetes : Diretorio onde são salvos os volumes do StateFulSet

Fiquei com duvida no trecho abaixo sobre onde efetivamente serao armazenados os dados do mysql do Statefulset no trecho abaixo: /var/lib/mysql se refere ao diretorio dentro do container mysql ou se refere ao diretorio da maquina onde o kubernets esta instalado? Ha alguma maneira de parametrizar para que os arquivos fiquem em um volume na rede (ex : \\nas.Kubernetes\Statefullset\SistemaX ) ?

"Na sequência, realize o mapeamento desse volume com o diretório /var/lib/mysql que seria onde as informações cadastradas no banco do MySQL ficarão armazenadas. Dentro da chave dos containers, com o mesmo nível de espaçamento da chave env coloque:

volumeMounts:
  - name: volume-mysql
    mountPath: /var/lib/mysql
1 resposta

Oi André, tudo bem? Pelo que entendi, o mountPath, vai funcionar parecido com o mount do Docker onde, se você usa dessa forma, ele vai criar um caminho aleatório com algun hash para fazer o mapping do host com o container (pod) stateful do Kubernetes.

Por outro lado, você pode ter um caminho sim baseado no host, mas para isso você usa a configuração de hostPath como descrito nesse exemplo da documentação: https://kubernetes.io/docs/concepts/storage/volumes/#using-subpath-with-expanded-environment-variables

Neste exemplo, há um volume chamado workdir1, onde temos um hostPath configurado para o /var/log/pods e o uso dele no volumeMounts configurando o mountPath para o /logs.