Spring CloudNetflixコンテナを使用してGKEでIngressを定義する方法

Aug 15 2020

Spring CloudNetflix上に構築されたマイクロサービスアーキテクチャがあります。

  • business-owner-serviceは、ポート8763で実行されるSpring Bootアプリを指します。ポート転送が完了すると、business-owner-service:80はポート8763にリダイレクトします。
  • customer-serviceは、ポート8766で実行されるSpring Bootアプリを指します。customer-service:80-> 8766

Spring Cloud Zuulゲートウェイを介してアーキテクチャを呼び出すと、アーキテクチャは正しく実行されますが、Ingressを設定したいと思います。

私の正確な構成は次のとおりです。

  • イングレス

  • 入力パスの構成

問題は、イングレスにすべてのバックエンドサービスが異常にあり、何が間違っているのかわからないことです。Ingressを機能させるには、何をする必要がありますか?

編集:コメントごとに、カスタマーサービスポッドのreadinessProbeを次のように定義しようとしました。

これは機能せず、更新された構成を再確認しようとすると、readinessProbeが表示されません。これはバグだと思いますが、プローブが更新されているかどうかを確認する方法がわかりません。

また、アクチュエータ/ヘルスGETはZuulゲートウェイを介して実行されています。

回答

1 TudorGrigoriu Aug 19 2020 at 17:49

私の場合の解決策となったのは、readinessProbeではなくヘルスチェックの構成でした。入力バックエンドサービス用に自動的に作成されたヘルスチェックを更新して、/ actuator / healthを指すようにしました。これはうまくいった

ArghyaSadhu Aug 16 2020 at 00:24

GKE入力コントローラーは、ポッド展開で定義された準備プローブを使用してヘルスチェックを実行します。スプリングブーツアクチュエータを使用して、以下のように準備プローブを追加します

spec:
  containers:
    - name: name
      readinessProbe:
        httpGet:
          port: 8080
          path: /actuator/health
        initialDelaySeconds: 10