Volumes
Um volume é disco que sobrevive a deploys e reinícios. Ele existe só nos clusters seus que o GoShip instala (criados na sua nuvem ou conectados por SSH; veja Clusters): o cluster GoShip, a infraestrutura compartilhada, e um Kubernetes conectado não têm volumes. Que tipos de volume um cluster oferece depende dele.
Um volume pertence a um ambiente do projeto e fica no cluster que o projeto usa nesse ambiente. Não existe mover um volume entre ambientes nem entre clusters: pra mudar, crie outro volume onde quer e copie os dados.
Tipos
| Tipo | Onde fica | Tamanho | Custo |
|---|---|---|---|
Disco local do cluster (byon-local) | No disco da própria máquina | Informativo — nada impede a app de usar mais | Nenhum além do servidor |
DigitalOcean block storage (do-block-storage) | Volume de bloco na sua conta DigitalOcean, na mesma região do droplet | Garantido, de 1 GiB a 16 TiB | US$ 0,10 por GiB por mês, cobrado pela DigitalOcean |
Todo cluster seu que o GoShip instala oferece disco local. Block storage aparece em um cluster DigitalOcean criado pelo GoShip com a opção Volumes ligada — ou habilitado depois na página do cluster (Criar na sua nuvem).
Criar e montar
No painel: Volumes → New volume, no ambiente em que você
está, e escolha o
tipo e o tamanho. Depois, na página da app, Attach em Mount at, um
caminho como /data.
Pelo CLI:
goship volume create uploads --plan do-block-storage --size 10
goship volume bind uploads --app web --mount /dataO volume nasce no ambiente que o CLI escolheu (Escolher o ambiente), no cluster dele; --environment escolhe outro. Os tipos disponíveis são os do cluster daquele ambiente.
Montar ou desmontar reinicia a app. O disco em si é criado no próximo deploy da app — até lá o volume existe só como registro.
Regras
- O volume só se liga a apps do mesmo ambiente, o que os deixa no mesmo cluster.
- O caminho de montagem é absoluto e não pode cobrir
/home/application/currentnem diretórios do sistema (/etc,/proc,/dev,/sys,/usr,/bin,/lib). - Um volume pode ser montado por mais de uma app do mesmo ambiente, uma vez por app.
- Não há redimensionamento. Para crescer, crie outro volume, copie os dados e apague o antigo.
- Não há backup automático nem snapshots nesta versão. Cuide dos dados como cuidaria de um disco de servidor.
- Remover a app não apaga o volume. Remover o cluster é recusado enquanto houver volumes nele — apague-os antes.
- Apagar um volume apaga os dados de forma irreversível e, no caso da DigitalOcean, remove o volume da sua conta.