2016-06-15 7 views
0

私たちはKubernetesで多くのアプリケーションを実行しており、HAProxyを備えたポッド内のTLS終了とLetsEncryptで生成された証明書を処理しています。ドメイン名を内部でKubernetesサービスに解決する

これは、要求が証明書で指定されたドメイン名を使用するため、Kubernetesクラスタの外部からのトラフィックに対しては、これが本当にうまく動作します。

しかし、サービス名を使用した内部通信(https:///などのURL)では、URLのホスト部分が証明書に定義されているものと一致しなくなり、失敗します。

KubernetesのDNSシステムが完全なドメイン名を特定のサービスに解決する方法はありますか?それで、クラスタ外にルーティングされることはありませんか?

答えて

0

は、私はあなたが追求できたオプションのカップルを考えることができます。

  1. あなたは、あなたのクラスタネットワークのセキュリティを信頼している場合だけでクラスタがHTTPSではなくover HTTPを実行するトランジットの要求を持つことができます。

  2. SNIを使用すると、内部リクエストに対して異なるHAProxyインスタンスを提供することができます。内部証明書を生成して配布する方法が必要ですが、Kubernetesサービス名に一致する証明書をクライアントに提示することができます。

  3. 引き続きFQDNを解決し、要求をルーティングしてからクラスタに戻すことは心配しないでください。これは実際にクウェーネットクラスタフェデレーションに組み込まれている次期クラスタ間サービスディスカバリ/フェデレーション機能と大きく異なるものではありません。

内部サービスIPを返すために外部FQDN解決を注入/上書きする方法は実際にはありません。

関連する問題