1

ベアメタル Kubernetes クラスター用の Ingress コントローラーのセットアップを検討しています。Ingress コントローラーを調べ始めましたが、これらはポート 80 または 443 経由で到達可能な HTTP サービスに対してのみうまく機能するようです。任意のポートで TCP または UDP サービスを公開する必要がある場合は、Nginx またはHAProxy Ingress コントローラーですが、クラスターは単一のポート範囲を共有することになります。これを誤解している場合はお知らせください。

任意のポートで TCP または UDP サービスを公開して負荷分散する必要がある場合、どのようにしますか? サービスが独自の VIP を取得し、必要なポートを使用できるように ClientIP を使用することを考えていましたが、問題は、これらの VIP にトラフィックをルーティングし、フレンドリな DNS 名をどのように付けるかということです。これに対する解決策は既にありますか、それとも自分で構築する必要がありますか? NodePort または名前空間が単一のポート範囲を共有する必要があることを意味するソリューションを使用することは、実際にはスケーラブルでも望ましいことでもありません。特に、名前空間 1 のボブが自分のサービスにポート 8000 でアクセスできるようにする必要があるのに、名前空間 2 のリンダがすでにそのポートを使用している場合。

明確化、潜在的な解決策、または一般的なヘルプは大歓迎です。

4

1 に答える 1

0

githubの問題は興味深い読み物であり、HTTPSから始めてALPNを使用してカスタムプロトコルに切り替えるなど、いくつかの巧妙な回避策があります。その方法を知るために。

ただし、同じポートを使用するこれらの TCP および UDP サービスのプロトコルが異なり、相互運用する方法がない場合、イングレス コントローラーは、クラウド プロバイダーのいずれかを使用して、個別のルーティング可能な IP アドレスと同等のものを割り当てることができる必要があります。 、または独自のインフラストラクチャを使用しますが、公開されたサービスごとに処理されます。

nginx と haproxy からのパッケージ化されたイングレス コントローラーにはその自動化が行われないというのが私の感覚ですが、詳しくは調べていません。利用可能なインフラ自動化と連携して構築する必要があります。

于 2018-03-04T04:54:35.313 に答える