Google Cloud でコンテナを実行するためのいくつかのオプションを読んだ後でも、Cloud Run、Kubernetes、Container-OS などの無数のオプションの中から適切なソリューションを見つけることができません。
次のことができる必要があります:
- docker イメージを実行する (dockerhub でホスト)
- 永続ディスクをボリュームとしてマウントします。ビッグデータ ファイルはそこに保存されます。
- ポートをインターネットに公開する
- 自動スケーラビリティ(夜間など使用していないときは 0 にする)
答え1
フォーカスのみGCP
質問にあるように環境について。
あなたが説明したようにワークロードを実行するために使用できるソリューションはいくつかあります。そのいくつかは次のとおりです。
- Kubernetesエンジン
- クラウドラン
GKE
との違いについて詳しくは、Cloud Run
こちらをご覧ください。
- Cloud.google.com: ブログ: プロダクト: コンテナ Kubernetes: コンテナに Google Kubernetes Engine と Cloud Run のどちらを使用するか
使用できるグーグルあなたが言及した箇条書きの作業負荷について:
- docker イメージを実行する (dockerhub でホスト)
KubernetesはDockerイメージを使用します。イメージをダウンロードする場所を指定するオプションがあります。から。
- 永続ディスクをボリュームとしてマウントします。ビッグデータ ファイルはそこに保存されます。
デフォルトでは、とのバックボーンとしてGKE
が使用されます。ポッドに必要なデータをそこに保存できます。gce-pd
PVC
PV
- ポートをインターネットに公開する
Kubernetes には、トラフィックがクラスターに入ることを許可するさまざまなオプションがあります。その一部を以下に示します。
ClusterIP
- 内部のみNodePort
LoadBalancer
Ingress
詳細については、こちらをご覧ください:
- Kubernetes.io: ドキュメント: 概念: サービス ネットワーキング: サービス
- Cloud.google.com: Kubernetes Engine: ドキュメント: 方法: アプリの公開
- 自動スケーラビリティ(夜間など使用していないときは 0 にする)
Kubernetes を使用すると、ノードだけでなく、アプリケーションを実行しているポッドも自動的にスケーリングできます。
- Cloud.google.com: Kubernetes Engine: ドキュメント: コンセプト: クラスタ オートスケーラー- クラスターオートスケーラーはない自動的に0ノードにスケールダウンする
- 水平ポッドオートスケーラー(レプリカの数):
- Cloud.google.com: Kubernetes Engine: ドキュメント: コンセプト: 水平ポッドオートスケーラー- HPAはない0ポッドにスケール
- 垂直ポッドオートスケーラー(リソースと制限):
追加リソース:
- Kubernetes.io
- Cloud.google.com: Kubernetes Engine: ドキュメント: チュートリアル
- Github.com: Kubernetes: Kompose- Docker Compose を Kubernetes に変換する