Docker Swarm を使用しながら、待ち受けるIPアドレスを特定のもののみにしたく思っております。
わかりにくい図で恐縮なのですが、つまり[xxx.xxx.xxx.1]と[xxx.xxx.xxx.2]で Docker Swarm のクラスタを構成し、その中でPostfix等のserviceを2つ並行して稼働させたいと考えています。
VIP自体に関しては、 Heart beat などでどちらか片方にIPを割り振ることで実現は可能かなと考えているのですが、肝心の swarm 側で service が特定IPのみlistenする方法が思いつきません。
意図としては、稼働するサーバーどれか一つが落ちたとしても残りで問題なく稼働することができる、というものです。
そのため、上流にロードバランサーなどを置くのも、結果的にそこがシングルポイントになってしまうのと、ロードバランスできないようなプロトコルも扱いたいので、避けたいなと思っています。
また、Serviceを分ける理由としては、利用者が異なりお互いに影響を出すことなく設定等も変えられるようにしたい(あわよくばSSL証明書も分けたい)という理由からです。
かなり特殊な構成なので難しいかもしれませんが、何か良い方法がありましたらご教授いただけますと幸いです。
(Swarmにこだわらないので他の方法でも解決できればとは思いますが、Volumeの共有などがSwarmだと楽なので、できれば使いたいなーと思っています。)
[4月28日4時35分 追記]
その後、いろいろと行っていると、このような構成がそもそも無理(追加分のIPを動かすことが契約サービス上できなかった)なことが判明しました。
よってserviceを特定IPで待ち受ける必要も無くなってしまったのですが、知識として知っておきたいためこのまま回答を募ります。
あなたの回答
tips
プレビュー