問題タブ [gke-networking]
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 - Windows コンテナと Readiness Probe で GKE NEG Readiness Gate が失敗する
問題が発生しています:
Container Native Load Balancing (CNLB) を使用しようとすると、IIS コンテナーで実行されている .Net アプリの正常性チェックが成功する。
VPC ネイティブ クラスタを使用して GKE の Ingress リソース定義によって作成されたネットワーク エンドポイント グループ(NEG)があります。
NodePort を公開するか、タイプ LoadBalancer のサービスを作成して CNLB を回避すると、サイトは問題なく解決されます。
説明からのすべてのポッドの状態は良好に見えます: ポッドの準備
実行時にネットワーク エンドポイントが表示されますdescribe endpoints
:準備完了アドレス
これは、ロード バランサによって生成されるヘルス チェックです: GCP ヘルス チェック
同じ VPC 内の他のコンテナーまたは VM からこれらのエンドポイントをヒットすると、/health.htm は 200 で応答します。これは同じ名前空間内のコンテナーからのものですが、クラスター内ではなく同じ Linux VM でこれを再現しました。 VPC:エンドポイントが応答する
しかし、それにもかかわらず、ヘルス チェックは NEG のポッドが異常であると報告しています:異常なエンドポイント
Stackdriver ログは、リクエストがタイムアウトしていることを確認しますが、エンドポイントが他のインスタンスに応答しているが LB には応答していない理由はわかりません: Stackdriver Health Check Log
そして、GKE が、LB からポッドへのトラフィックを許可する正しいファイアウォール ルールのように見えるものを作成したことを確認しました。
ここに私が取り組んでいるYAMLがあります:
展開:
サービス:
このサイトでは複数のルートを実際に必要としないため、イングレスは非常に基本的なものですが、私たちが抱えている問題がここにあるのではないかと疑っています.
最後の多少関連する詳細は、このドキュメントにある手順を試してみたところ、うまくいきましたが、Windows Containers も Readiness Probes も使用していないため、私の状況と同じではありません: https://cloud.google.com/kubernetes-engine/docs/how -to/container-native-load-balancing#using-pod-readiness-feedback
どんな提案でも大歓迎です。私はこれに2日間立ち往生しましたが、それは明らかだと確信していますが、問題がわかりません。
kubernetes - イングレスでのみ複数の IP を許可する方法
多数の IP があり、それらの IP のみをイングレスに許可したい
私はイングレスアノテーションでこれを行うことができることを知っています。
nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/16
しかし、私が望むのは、複数の IPS を持っていることだけではありません10.0.0.0/16
。たとえば178.1.0.2/17
、のような IP があり10.0.0.0/16
、178.2.0.3/18
この IP のみをイングレスに許可したい場合、どうすればそれを達成できますか。