Configuração
1
Buckets e chaves
Crie os três buckets
overleaf-template-files, overleaf-project-blobs e overleaf-chunks e os dois usuários restritos com o seu serviço S3, conforme descrito em Configuração do S3, ou execute o Garage no cluster como mostrado abaixo. Coloque as quatro chaves em um Secret:2
ConfigMap
30-config.yaml (additions)
3
Adicione o Secret ao pod e reinicie
No Deployment (ou StatefulSet), adicione o Secret ao lado dos outros:
Garage no cluster
Sem um serviço S3, o Garage é um pequeno servidor S3 que é executado no cluster. A configuração de Escalonamento horizontal foi testada com ele. Os comandos abaixo geram as chaves e criam o próprio Secretoverleaf-s3, então use-os em vez do comando do Secret da etapa 1.
O MinIO, usado no exemplo do Overleaf, não publica mais imagens de contêiner:
minio/minio desapareceu do Docker Hub e do quay.io.50-garage.yaml
GK seguido de 24 caracteres hexadecimais, e os segredos têm 64 caracteres hexadecimais:
garage, e OVERLEAF_*_S3_REGION precisa ser a mesma.
Com o Garage, defina o endpoint, PATH_STYLE: "true" e a região garage para ambos os serviços no ConfigMap, como em 60-config.yaml de Escalonamento horizontal.
Várias réplicas
Todas as réplicas precisam usar os mesmos buckets e chaves. Faça backup dos buckets com as ferramentas do seu provedor de S3; assim, os discos próprios das réplicas não guardam nenhum dado que precise de backup.Testado no Kubernetes
No Kubernetes 1.37 com três réplicas e o Garage como acima, todos os testes ponta a ponta destas páginas que criam projetos, enviam arquivos, usam o histórico ou publicam templates foram aprovados e, depois, os bucketsoverleaf-project-blobs, overleaf-chunks e overleaf-template-files continham os objetos, enquanto o /var/lib/overleaf/data/history próprio das réplicas permaneceu vazio.
