exportar montagem gcsfuse para que um terceiro cliente possa acessar arquivos em um bucket de armazenamento

exportar montagem gcsfuse para que um terceiro cliente possa acessar arquivos em um bucket de armazenamento

Eu monto um bucket de armazenamento em um diretório local. /share Então tento disponibilizar esse diretório - agora preenchido com o conteúdo do armazenamento de objetos - para outra máquina. O objetivo é que esta outra máquina não precise usar um cliente gcsfuse, mas possa contar com nfs ou algo semelhante.

Tentei expor o diretório gcsfuse /sharecom nfs. O compartilhamento nfs funcionou. Mas quando montei o bucket de armazenamento em nuvem no compartilhamento nfs, a máquina remota - o cliente nfs - nunca viu os arquivos do armazenamento de objetos.

Portanto, ambas as partes da cadeia funcionam separadamente:

  • Posso montar um armazenamento de objetos em um diretório local.
  • Posso exportar um diretório por nfs para uma segunda máquina.

Mas NÃO posso 'passar' o conteúdo do armazenamento de objetos para a segunda máquina.

Tudo isso está acontecendo dentro de um cluster Kubernetes.

Para descartar o nfs da equação, usei o padrão sidecar para expô-lo a /shareum segundo contêiner no mesmo pod. Mesmo resultado: o segundo contêiner nunca vê o conteúdo do armazenamento de objetos.

Eu não sei muito sobre o sistema de arquivos fusível (gcs), mas as pessoas o chamam de sistema de arquivos de 'espaço do usuário'. É por isso que não consigo passar o conteúdo de uma montagem gcsfuse para uma segunda máquina?

Editar: tentei várias opções diferentes ao montar o armazenamento de objetos: aqui estão elas:

gcsfuse -o nonempty -o allow_other --implicit-dirs --gid 0 --uid 0 --file-mode 777 --dir-mode 777 video-storage-dev /share
gcsfuse -o nonempty -o allow_other video-storage-dev /share

Responder1

Possíveis soluções para este problema:

  1. Talvez você não tenha a user_allow_otheropção de configuração habilitada na configuração do fusível. Para fazer isso, certifique-se de que no arquivo /etc/fuse.confvocê tenha a seguinte linha descomentada: user_allow_othere tente novamente.

  2. Se o procedimento acima não funcionar, você pode querer dar uma olhada emesta questão unix, que aborda a exportação de FUSE via NFS. Como um TL;DR, a maioria das distribuições Linux não permite exportar um fs montado no FUSE via NFSv2 ou NFSv3, então você precisará usar o NFSv4.

informação relacionada