問題タブ [envoyproxy]

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

docker - istio envoy プロキシで実行されているコンテナとの websocket 接続の最大数

Istio プロキシを使用するコンテナ内の Websocket 接続の最大数に制限があるようです

1024 で不足するようです (デフォルトのようです)。

また、nofiles の --default-ulimit を 102400:102400 に増やしてみましたが、istio によって制限されているのではないかと疑っています

DestinationPolicy も追加しようとしましたが、それも役に立ちませんでした

0 投票する
2 に答える
1220 参照

grpc - envoy、nomad、consul を使用して gRPC リクエストの動的ルーティングを構成する方法

nomadを使用して、 gRPCエンドポイントを提供するアプリケーションをタスクとしてデプロイします。その後、タスクはnomad の service stanzaを使用してConsulに登録されます。

アプリケーションのルーティングは、envoy proxyを使用して実現されます。IP で負荷分散された中央の envoy インスタンスを実行しています10.1.2.2

host現在、ルーティング先のエンドポイント/タスクの決定はヘッダーに基づいており、すべてのタスクは の下にサービスとして登録されています<$JOB>.our.cloud。これは 2 つの問題につながります。

  1. サービスにアクセスするときは、ロードバランサー IP の DNS 名を登録する必要があります。これにより、次の/etc/hostsようなエントリが生成されます。

    この問題は を使用することで部分的に軽減されますdnsmasqが、新しいサービスを追加するときはまだ少し面倒です

  2. 同じ gRPC サービスを提供する複数のサービスを同時に実行することはできません。たとえば、サービスの新しい実装をテストすることにした場合job、同じ名前で同じサービスを実行する必要があり、gRPC サービス ファイルで定義されているすべてのサービスを実装する必要があります。

私たちが議論してきた可能な解決策はtagsserviceスタンザの を使用して、提供された gRPC サービスを定義するタグを追加することです。

しかし、これはConsulによって推奨されていません:

今、私たちは、のようなタグでそれを行うことを考えていましたgrpc-my-company-firstpackage__ServiceA...これは本当に嫌に見えますが:-(

だから私の質問は:

  • 誰かがそのようなことをしたことがありますか?
  • その場合、Consul で自動検出される gRPC サービスにルーティングする方法に関する推奨事項は何ですか?
  • 誰かがこれについて他のアイデアや洞察を持っていますか?
  • これは、たとえばistioでどのように達成されますか?