Kubernetes API HTTPS 端点代理
Kubernetes API proxy for HTTPS endpoints
Kubernetes 提供一个 API 代理,允许通过例如 https://myhost.com/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard/
查询内部服务
一切都很好,很好。但是,出于安全和合规性原因,我们所有的服务都公开了一个 HTTPS 端点。尝试通过 https://myhost/api/v1/proxy/namespaces/default/services/myhttpsservice:3000/ 访问它们会导致
Error: 'read tcp 172.20.122.129:48830->100.96.29.113:3000: read: connection reset by peer'
Trying to reach: 'http://100.96.29.113:3000/'
因为端点 100.96.29.113:3000 实际上是 https。
有什么方法可以配置代理以将 SSL 应用于特定的服务端点?
(编辑:如果这目前不可能,一个相关的 github 问题 link 用于跟踪功能请求也是可接受的答案,直到它成为可能)
如 https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#manually-constructing-apiserver-proxy-urls 中所述(并在 slack 上指出),您可以通过在服务名称前加上 "https:" 前缀来访问 HTTPS 背后的服务;
使用上面的例子,正确的是:https://myhost/api/v1/proxy/namespaces/default/services/https:myhttpsservice:3000/
Kubernetes 提供一个 API 代理,允许通过例如 https://myhost.com/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard/
查询内部服务一切都很好,很好。但是,出于安全和合规性原因,我们所有的服务都公开了一个 HTTPS 端点。尝试通过 https://myhost/api/v1/proxy/namespaces/default/services/myhttpsservice:3000/ 访问它们会导致
Error: 'read tcp 172.20.122.129:48830->100.96.29.113:3000: read: connection reset by peer'
Trying to reach: 'http://100.96.29.113:3000/'
因为端点 100.96.29.113:3000 实际上是 https。
有什么方法可以配置代理以将 SSL 应用于特定的服务端点?
(编辑:如果这目前不可能,一个相关的 github 问题 link 用于跟踪功能请求也是可接受的答案,直到它成为可能)
如 https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#manually-constructing-apiserver-proxy-urls 中所述(并在 slack 上指出),您可以通过在服务名称前加上 "https:" 前缀来访问 HTTPS 背后的服务;
使用上面的例子,正确的是:https://myhost/api/v1/proxy/namespaces/default/services/https:myhttpsservice:3000/