複数のテナントに対して 1 つの kubernetes を展開するシステムを設計していますが、顧客ごとに複数のデータベース、キューなどがあります。状態のないものはすべて共有され、状態のあるものはテナントごとに分けられます。要求ホスト (tenant1.company.com または tenant2.company.com) に基づいて、コードは対応するデータベースとキューに接続します。
ポッドが複数のテナントで動作するように設計されている場合、readiness プローブはどのように設計する必要がありますか?
次のオプションを考えることができますが、どれも正しくないようです。
- すべてのデータベースとキューに接続し、準備ができているかどうかを確認します。 欠点: これにより、1 つのリソースがダウンしてもポッドの準備ができていません。
- 任意の 1 つのデータベースとキューに接続します。 欠点: すべてのプローブの準備状況を実際にチェックするわけではありません。
- 準備プローブはまったくありません。
複数のテナントをサポートするためにリソース レベルで分離する場合 (これは B2B マルチテナントであり、新しいテナントをオンボードするには時間と労力がかかります)、Kubernetes デプロイ レベルでも分離する必要があるように感じます。
これは標準的なアプローチですか? すべてのレベルで完全に分離するか、同じ共有リソースを持つ 1 つの統合システムを使用しますか? そうでない場合、readiness プローブはどのように設計すればよいですか?