問題タブ [readinessprobe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1547 参照

ruby-on-rails - Kubernetes readinessProbe が「接続拒否」を返す

私の環境は、Ruby on Rails、Vue.js、Webpacker、および Kubernetes です。

K8s のデプロイに healthcheck 用の readinessProbe を追加しましたが、ポッドの開始準備ができていないため、次のコマンドでログを確認しました。

すると以下のようなメッセージを受け取ることができました

ただし、ローカルホストでこのルートを使用して確認すると、エラーは発生せず、HTTP ステータスは 200 です。

K8sポッドで。

Ingress で UNHEALTHY ステータスを取得したため、readinessProbe ヘルス チェックを行いました。

ここに私のYAMLファイルがあります:

mysql.yaml:

webpacker.yaml

rails.yaml:

kubectl describe po <pod_name> -n <namespace>:

0 投票する
2 に答える
1074 参照

kubernetes - liveness/readiness プローブはポッドとどのように通信しますか?

私はk8sに非常に慣れていないので、質問が意味をなさないか、間違っている/愚かである場合はお詫びします。

ポッド定義用に構成された liveness プローブがあります。これは、ヘルス API をヒットし、応答ステータスをチェックして、ポッドの liveness をテストします。

私の質問は、活性/準備プローブの目的を理解していますが、正確には何ですか? それらは、構成された API を介してポッドと通信しようとする別のタイプのポッドですか? それとも、ポッド自体の内部で実行され、API 呼び出しを試行するある種の軽量プロセスですか?

また、プローブはポッドとどのように通信しますか? プローブが API にアクセスできるように、ポッド用にサービスを構成する必要がありますか? それとも、追加の構成を必要としない内部プロセスですか?

0 投票する
1 に答える
180 参照

kubernetes - マルチテナント システムの Kubernetes Readiness Probe

複数のテナントに対して 1 つの kubernetes を展開するシステムを設計していますが、顧客ごとに複数のデータベース、キューなどがあります。状態のないものはすべて共有され、状態のあるものはテナントごとに分けられます。要求ホスト (tenant1.company.com または tenant2.company.com) に基づいて、コードは対応するデータベースとキューに接続します。

ポッドが複数のテナントで動作するように設計されている場合、readiness プローブはどのように設計する必要がありますか?

次のオプションを考えることができますが、どれも正しくないようです。

  1. すべてのデータベースとキューに接続し、準備ができているかどうかを確認します。 欠点: これにより、1 つのリソースがダウンしてもポッドの準備ができていません。
  2. 任意の 1 つのデータベースとキューに接続します。 欠点: すべてのプローブの準備状況を実際にチェックするわけではありません。
  3. 準備プローブはまったくありません。

複数のテナントをサポートするためにリソース レベルで分離する場合 (これは B2B マルチテナントであり、新しいテナントをオンボードするには時間と労力がかかります)、Kubernetes デプロイ レベルでも分離する必要があるように感じます。

これは標準的なアプローチですか? すべてのレベルで完全に分離するか、同じ共有リソースを持つ 1 つの統合システムを使用しますか? そうでない場合、readiness プローブはどのように設計すればよいですか?