問題タブ [spring-cloud-kubernetes]

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 投票する
2 に答える
3640 参照

java - Spring Cloud Kubernetes アプリケーションがポッドで実行されていることを検出しない

予想される行動

Spring Cloud Kubernetes のドキュメントによると、Spring アプリケーションがポッドで実行されていることを検出するために必要なのは、spring-cloud-kubernetes-all依存関係を使用して Spring Cloud Kubernetes をクラスパスに追加することだけです。

これにより、次の 2 つのイベントがトリガーされます。

  1. 存在する場合、application-kubernetes.ymlプロファイルがロードされます。
  2. の Kubernetes 実装はDiscoveryClientサービス検出に使用され、デフォルトの Eureka の代わりに KubeDNS を利用します。

この環境認識については、 https ://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/1.1.0.RELEASE/reference/html/#kubernetes-profile-autoconfiguration で説明されています。

そしてここ:

https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/1.1.0.RELEASE/reference/html/#discoveryclient-for-kubernetes

実際の動作

次の yaml を使用して Spring Cloud Kubernetes アプリケーションを起動し、NodePort 経由でそのアクチュエーター エンドポイントにアクセスした後、フォルダーに aが存在するにhttp://minikube-ip:port/actuator/envもかかわらず、アクティブなプロファイルが設定されていないことがわかります。application-kubernetes.ymlresources

エンドポイントをさらに調査するとhttp://minikube-ip:port/actuator/info、次のように、Spring アプリケーションがポッド内にあることをまったく認識していないことがわかります。

マイコード

SpringCloudGateway

SpringCloudGateway build.gradle

SpringCloudGateway アプリケーション.yml

SpringCloudGateway アプリケーション-kubernetes.yml

SpringCloudGateway デプロイメント.yml

SpringCloudGateway ポッドのログ

ご覧のとおり、まだ Eureka に接続しようとしています。

バージョン Spring Cloud: Hoxton.SR5

ジブ

ミニキューブ: 1.15.1

K8s: 1.19

ジャワ:11

どんな助けでも大歓迎です!ありがとうございました!

0 投票する
0 に答える
69 参照

kubernetes - Spring Cloud Kubernetes は、名前空間の下にある他の構成ファイルを読み取ります