2つのコンテナを持つポッドがあります。アプリケーションとデータベース。私はポッド用の2つのレプリカを持っています。2つのポートを公開します.1つはClusterIP、もう1つはNodePortです。
アプリケーションポートがクラスタ外で公開されていることを公開したいので、データベースポートを公開したくありません。
しかし、トラフィックのバランスをとるためにDNSを使用してデータベースポートにアクセスしたいとします。
ノードポートとして2つのサービスを作成し、アプリケーションポートとその他のサービスをClusterIPとして公開して、データベースポートを公開することができます。
トラフィックのバランスが以前と同じように、アプリケーションサーバーからlocalhostに接続することもできます。そして、アプリケーションサーバーをnodeportとして公開するだけです。
質問は次のとおりです。データベースポートをクラスタIPとして、アプリポートをnodeportとして1つのサービスだけで公開できますか?
ありがとうございます。
データベースがポッドで実行されているアプリケーションのみの場合は、なぜそれはまれですか?私はそれがマイクロサービスのアプローチだと言います。シンプルな分離アプリケーション。 – Jxadro
まず、マイクロサービスを複製します。あなたのdbが重大な複製魔法をしない限り(またはあなたのサービスが状態を共有しない場合)、複数のインスタンスの実行を開始するとすぐに問題になります。また、ステートストア(db)とサービスをそれぞれ別々に拡張できることが望ましいです。あなたのsvcが何らかの合理的なことをしばしば行うのであれば、状態を格納するポッドを追加する必要はないかもしれませんが、ポッドを追加する必要があるかもしれません。もう1つのことは、データの永続性です。どのようにデータを保持していますか(永続性を必要としない限り)。それ以上のことがありますが、チャリミットの制限があります: –