2017-03-01 8 views
0

kuberneteコンテナをGoogleクラウドプラットフォームにデプロイしましたが、すべて正常に動作します。しかし私が混乱させたのは、フラスコのアプリケーションをポート9001で実行するように設定し、conatinerPortを9001に設定して、--port 9001kubectl runコマンドで使用したことです。しかし、どういうわけか、フラスコのアプリはまだポート80で実行され、ポート80がロードバランサに公開されていました..Kubernete Podsで動作するフラスコアプリケーションはコンフィグレーションのポートを尊重しません

私が間違っていることや、クーベルテーのバグですか? 私はドッカーを使っていました:私のポッドを作るためにpython:3イメージ。

container configuration log from flask app

+0

共有あなたのフラスココード? –

+0

if __name__ == '__main__': app.run(host = '0.0.0.0'、port = '9001') これはフラスコのアプリケーションを開始する方法です。 –

+0

Kubernetesのようなことは関係ありません。 –

答えて

1

containerPortは、フラスコのアプリケーションを動作させているポートとは何の関係もありません。コンテナによって露出されるのはポートだけです。

フラスコのアプリケーション設定を確認する必要があります。ここでは、アプリケーションの実行に使用するポートを設定する必要があります。

何かのように:

if __name__ == '__main__': 
     app.run(host='0.0.0.0', port=9001) 
+0

私もそうしました。ポートは開発または生産に依存して9001または5000のいずれかになります。しかし、フラスコはまだポート80で実行されます。 –

+0

正しい設定を変更してはいけません。ポート80(アプリケーション)と9001(外部)を実際に実行したい場合は、containerPortを80に定義して、ポート9001を80にマップし、サービスを使用して9001を80にマップすることができます – MrE

関連する問題