什么组件正在解析 OpenShift 路由器中的域
What component is resolving domain in OpenShift router
我正在使用 OpenShift 路由器,默认情况下路由器是基于 haproxy 的。当我创建一个域,例如 aa.bb.cc,然后我可以通过此路由访问我的服务。
我看到路由器 (haproxy) pods 是 运行 我的集群,我的问题是,当我卷曲 http://aa.bb.cc 时,域 aa.bb.cc 如何到达 haproxy pods?哪个组件正在解析域 aa.bb.cc?
那将是包含通配符域的 DNS 服务器。我们的流程通常如下:
*.apps.example.com
+
+-----------------+ |
| DNS Server | |
+-----+-----------+ | OpenShift Cluster
^ | |
| | |
| | LB IP |
| | |
| v |
+-+----+--+ +--------------+ | +---------------+ +----------+
| | | | | | | | |
| Clients +------> Loadbalancer +-----> HAProxy +--------------->+ App Pods |
| | | | | | | | |
+---------+ +--------------+ | +---------------+ +----------+
|
+
您的客户端将使用其常规 DNS 服务器来解析应用程序域。通常,OpenShift 集群上的所有应用程序路由 运行 都有一个 通配符 DNS 条目(例如 *.apps.example.com
)。因此,当您的客户端请求 myapp.apps.example.com
时,将返回 OpenShift 集群的 Loadbalancer IP。
负载均衡器反过来知道 OpenShift 路由器 是 运行 的所有节点。所以 Loadbalancer 会将请求转发到这些节点中的任何一个。
如您所述,OpenShift Router 运行 HAProxy 正在查看 HTTP Host Header 或 SNI 扩展 用于 TLS 连接以检查连接需要转发到哪里。
HAProxy 有一个动态配置,它是从集群中的路由/服务派生出来的,然后将您的请求转发到您的应用程序Pods.
我正在使用 OpenShift 路由器,默认情况下路由器是基于 haproxy 的。当我创建一个域,例如 aa.bb.cc,然后我可以通过此路由访问我的服务。
我看到路由器 (haproxy) pods 是 运行 我的集群,我的问题是,当我卷曲 http://aa.bb.cc 时,域 aa.bb.cc 如何到达 haproxy pods?哪个组件正在解析域 aa.bb.cc?
那将是包含通配符域的 DNS 服务器。我们的流程通常如下:
*.apps.example.com
+
+-----------------+ |
| DNS Server | |
+-----+-----------+ | OpenShift Cluster
^ | |
| | |
| | LB IP |
| | |
| v |
+-+----+--+ +--------------+ | +---------------+ +----------+
| | | | | | | | |
| Clients +------> Loadbalancer +-----> HAProxy +--------------->+ App Pods |
| | | | | | | | |
+---------+ +--------------+ | +---------------+ +----------+
|
+
您的客户端将使用其常规 DNS 服务器来解析应用程序域。通常,OpenShift 集群上的所有应用程序路由 运行 都有一个 通配符 DNS 条目(例如 *.apps.example.com
)。因此,当您的客户端请求 myapp.apps.example.com
时,将返回 OpenShift 集群的 Loadbalancer IP。
负载均衡器反过来知道 OpenShift 路由器 是 运行 的所有节点。所以 Loadbalancer 会将请求转发到这些节点中的任何一个。
如您所述,OpenShift Router 运行 HAProxy 正在查看 HTTP Host Header 或 SNI 扩展 用于 TLS 连接以检查连接需要转发到哪里。
HAProxy 有一个动态配置,它是从集群中的路由/服务派生出来的,然后将您的请求转发到您的应用程序Pods.