Depois de ler as diversas opções de execução de containers no Google Cloud, ainda não consigo encontrar uma solução adequada entre a infinidade de opções - Cloud Run, Kubernetes, Container-OS...
Precisamos ser capazes de:
- execute uma imagem docker (hospedada no dockerhub)
- monte um disco permanente como um volume. Arquivos de big data serão armazenados lá.
- expor portas à internet
- escalabilidade automática (para 0 quando não estiver em uso, por exemplo, à noite)
Responder1
Concentrandoapenasno GCP
meio ambiente como na pergunta.
Existem soluções que podem ser usadas para executar cargas de trabalho conforme você descreveu. Alguns deles são:
- Motor Kubernetes
- Execução na nuvem
Você pode ler mais sobre as diferenças entre GKE
e Cloud Run
aqui:
Você poderia usarGKEpara sua carga de trabalho quanto aos marcadores que você mencionou:
- execute uma imagem docker (hospedada no dockerhub)
Kubernetes usa imagens Docker. Você tem a opção de especificar o local onde as imagens estão sendo baixadasde.
- monte um disco permanente como um volume. Arquivos de big data serão armazenados lá.
Por padrão, GKE
usa gce-pd
como backbone para PVC
's e PV
's. Você poderá armazenar os dados necessários para os pods lá:
- expor portas à internet
Kubernetes tem uma ampla variedade de opções para permitir que o tráfego entre em seu cluster. Alguns deles são:
ClusterIP
- apenas internoNodePort
LoadBalancer
Ingress
Você pode ler mais sobre eles aqui:
- Kubernetes.io: Documentos: Conceitos: Rede de serviços: Serviço
- Cloud.google.com: Kubernetes Engine: Documentos: Como fazer: expor aplicativos
- escalabilidade automática (para 0 quando não estiver em uso, por exemplo, à noite)
Ao usar o Kubernetes, você pode escalar automaticamente não apenas os nós, mas também os pods que executam seu aplicativo:
- Cloud.google.com: Kubernetes Engine: Documentos: Conceitos: Cluster Autoscaler- o escalonador automático de cluster iránãoreduzir para 0 nós automaticamente
- Autoescalador horizontal de pods (quantidade de réplicas):
- Cloud.google.com: Kubernetes Engine: Documentos: Conceitos: escalonador automático de pod horizontal- A HPA iránãodimensionar para 0 pods
- Vertical Pod Autoscaler (recursos e limite):
Recursos adicionais:
- Kubernetes.io
- Cloud.google.com: Kubernetes Engine: Documentos: Tutoriais
- Github.com: Kubernetes: Kompose- Traduzir Docker Compose para Kubernetes