Nachdem ich mir die verschiedenen Optionen zum Ausführen von Containern in Google Cloud durchgelesen habe, kann ich unter den unzähligen Optionen – Cloud Run, Kubernetes, Container-OS usw. – immer noch keine passende Lösung finden.
Wir müssen in der Lage sein:
- ein Docker-Image ausführen (gehostet in Dockerhub)
- Mounten Sie eine persistente Festplatte als Volume. Große Datendateien werden dort gespeichert.
- Ports dem Internet zugänglich machen
- automatische Skalierbarkeit (auf 0 bei Nichtgebrauch, zB nachts)
Antwort1
Fokussierungnurzur GCP
Umwelt, wie in der Frage.
Es gibt Lösungen, die zum Ausführen von Workloads wie von Ihnen beschrieben verwendet werden könnten. Einige davon sind:
- Kubernetes Engine
- Cloud Run
GKE
Mehr zu den Unterschieden zwischen und können Sie Cloud Run
hier lesen:
Du könntest benutzenGKEfür Ihren Arbeitsaufwand sowie für die von Ihnen genannten Aufzählungspunkte:
- ein Docker-Image ausführen (gehostet in Dockerhub)
Kubernetes verwendet Docker-Images. Sie haben die Möglichkeit, den Ort anzugeben, an den die Images heruntergeladen werdenaus.
- Mounten Sie eine persistente Festplatte als Volume. Große Datendateien werden dort gespeichert.
Wird standardmäßig als Rückgrat für 's und 's GKE
verwendet . Sie können dort die für Pods benötigten Daten speichern:gce-pd
PVC
PV
- Ports dem Internet zugänglich machen
Kubernetes bietet eine Vielzahl von Optionen, um den Datenverkehr in Ihren Cluster zu leiten. Einige davon sind:
ClusterIP
- Nur internNodePort
LoadBalancer
Ingress
Mehr dazu können Sie hier lesen:
- Kubernetes.io: Dokumente: Konzepte: Service-Netzwerke: Service
- Cloud.google.com: Kubernetes Engine: Docs: Vorgehensweise: Apps verfügbar machen
- automatische Skalierbarkeit (auf 0 bei Nichtgebrauch, zB nachts)
Durch die Verwendung von Kubernetes können Sie nicht nur Knoten, sondern auch Pods, auf denen Ihre Anwendung ausgeführt wird, automatisch skalieren:
- Cloud.google.com: Kubernetes Engine: Dokumente: Konzepte: Cluster Autoscaler- Cluster-Autoscaler wirdnichtautomatisch auf 0 Knoten herunterskalieren
- Horizontal Pod Autoscaler (Anzahl der Replikate):
- Cloud.google.com: Kubernetes Engine: Dokumente: Konzepte: Horizontal Pod Autoscaler- HPA wirdnichtSkalierung auf 0 Pods
- Vertical Pod Autoscaler (Ressourcen und Limit):
Zusätzliche Ressourcen:
- Kubernetes.io
- Cloud.google.com: Kubernetes Engine: Dokumente: Tutorials
- Github.com: Kubernetes: Kompose- Docker Compose nach Kubernetes übersetzen