我创建了一个自定义HTTPS
LoadBalancer
(details),我需要将Kubernetes Workload
与此LoadBalancer
一起使用。现在,如果我向该端点发送请求,则会收到错误502。
当我在Expose
控制台页面中选择Workload
选项时,只有TCP
和UDP
服务类型可用,而TCP
{{ 1}}是自动创建的。
如何使用现有的LoadBalancer
公开Kubernetes Workload
?或者,也许我什至不需要这样做,因为我的实例“不健康”,所以请求不起作用? (healthcheck)
答案 0 :(得分:2)
您需要创建一个kubernetes ingress。 首先,您需要从k8s公开部署,对于https选择443端口,服务类型可以是:LoadBalance(external ip)或ClusterIp。 (您也可以通过访问ip或通过端口转发进行测试)。
然后您需要创建入口。
在选择后端时,在yaml文件中,设置暴露部署时配置的端口和ServiceName。 例如:
- path: /some-route
backend:
serviceName: your-service-name
servicePort: 443
在gcp上,当创建入口时,将为此创建一个负载平衡器。后端和实例组也将自动构建。 然后,如果您想使用已经创建的负载均衡器,则只需从Ingress创建的lb中选择后端服务,然后在其中添加它们即可。
此外,负载平衡器仅在运行状况检查通过后才能工作。您需要使用将为此返回200 HTTPS response的路由。