問題タブ [kubernetes-service]

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 に答える
2500 参照

kubernetes - Kubernetes: サービスを使用して複数のコンテナーを公開し、静的 IP を使用してイングレスします。

Kubernetes、定義済みのサービス、および静的 IP と ssl 証明書を使用したイングレスを使用して、2 つの nodejs アプリケーションを 2 つの別個のコンテナーとしてデプロイしようとしています。

GCP の Kubernetes Engine を使用して、これらのマイクロ サービスをデプロイしたいと考えています。2 番目のマイクロサービスを他のマイクロサービスより後に追加しました。Pod にコンテナを 1 つだけ入れるだけで、すべてがうまく機能します。deployment.yaml、service.yaml、ingress.yaml の 3 つの yaml ファイルを定義しました。

展開.yaml

service.yaml

ingress.yaml

この構成では、到達可能なサービスは 1 つだけです。

複数のポートを service.yaml に追加しようとしました

しかし、私はエラーを受け取ります。

私の目標は、ドメイン custom-host.com で 2 つのバックエンドを公開することです。1 つは特定のパス (api/*) で到達可能で、もう 1 つは考えられるすべてのエンドポイントに到達可能です。

ご協力ありがとうございました

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

kubernetes - 悪いサービス/502 minikube の悪いゲートウェイ

次の K8s リソース (デプロイ/ポッド、サービス、イングレス) がある場合https://staging-micro.local/、ブラウザーでアクセスすると、リクエストがエコー バックされることを期待しています。代わりに得られるのは502 Bad Gateway.

ホスト マシン (minikube を実行) にエントリ192.168.99.100 staging-micro.localがあり、それが正しいことに注意してください。サービスを削除すると、ヒットするとデフォルトのバックエンドの応答が返されます。/etc/hostsminikube ipstaging-micro.local/404 Not Found

私の予想では、Ingress は、ポート 80 でリッスンしているサービスへのホスト名staging-micro.localとパスをマップし/ます。次に、サービスは、ポート 8000 で選択された 3 つのコンテナーの 1 つに要求を転送します。echoserver コンテナーは、ポート 8000 でリッスンします。 Request を本文として HTTP Response を返します。もちろん、これは実際に起こることではありません。

最後に、cloudsql-proxyコンテナー: これは現時点では関係ありませんが、サイドカー コンテナーが存在する場合にサービスが機能することを検証したかったので含めます。echoserver次に、メインのアプリケーション コンテナーを交換します。echoserver私は削除してテストしましたが、同じ結果が得られました。

ログは、echoserverがエラーなしで起動していることを示しています。

より包括的なドキュメントを見つけることができなかったechoserverので、リッスンしているポートについて 100% ではありません。