問題タブ [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.
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 つは考えられるすべてのエンドポイントに到達可能です。
ご協力ありがとうございました
kubernetes - 悪いサービス/502 minikube の悪いゲートウェイ
次の K8s リソース (デプロイ/ポッド、サービス、イングレス) がある場合https://staging-micro.local/
、ブラウザーでアクセスすると、リクエストがエコー バックされることを期待しています。代わりに得られるのは502 Bad Gateway
.
ホスト マシン (minikube を実行) にエントリ192.168.99.100 staging-micro.local
があり、それが正しいことに注意してください。サービスを削除すると、ヒットするとデフォルトのバックエンドの応答が返されます。/etc/hosts
minikube ip
staging-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% ではありません。