Kubernetes GCP上带负载平衡器的袜子店
我正试图在谷歌云平台上部署和访问Sock shop。 我能够使用部署脚本部署它 基于这里的教程 上面说 使用以下命令在浏览器中显示袜子店: : 但在GCP上,主节点对用户隐藏 因此,我将类型从NodePort更改为LoadBalancer 我能够获得一个外部IP 但它说找不到该页面。在这里输入代码Kubernetes GCP上带负载平衡器的袜子店,kubernetes,google-cloud-platform,load-balancing,Kubernetes,Google Cloud Platform,Load Balancing,我正试图在谷歌云平台上部署和访问Sock shop。 我能够使用部署脚本部署它 基于这里的教程 上面说 使用以下命令在浏览器中显示袜子店: : 但在GCP上,主节点对用户隐藏 因此,我将类型从NodePort更改为LoadBalancer 我能够获得一个外部IP 但它说找不到该页面。在这里输入代码 是否需要为LoadBalancer设置更多内容?我建议返回相应服务中的NodePort,并在GCP群集中创建入口资源 如果您希望从集群外部访问相关的应用程序,Kubernetes提供了向您的内部服
是否需要为LoadBalancer设置更多内容?我建议返回相应服务中的NodePort,并在GCP群集中创建入口资源 如果您希望从集群外部访问相关的应用程序,Kubernetes提供了向您的内部服务公开HTTP和HTTPS路由的机制 基本上,一旦入口资源成功实现,默认情况下在GKE中创建,因此它将负责将所有外部HTTP/S流量路由到嵌套的Kubernetes服务
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
spec:
backend:
serviceName: web
servicePort: 8080
您可以通过以下命令检查负载平衡器的外部IP地址:
kubectl获取入口基本入口
我发现这在你的普通研究中非常有用。我不知道你是否解决了这个问题,但我解决了,所以我想与你分享我的解决方案。 您可以通过两种方式来实现: 首先,创建一个负载平衡器,在这里公开前端服务。 我假设您已经创建了一个名为sockshop的名称空间,因此任何进一步的命令都应该指定并引用该名称空间。 如果键入并执行该命令: kubectl获取服务-命名空间=sock shop 您应该能够看到一个包含所有服务的列表,其中包括一个名为前端的服务。因此,现在您希望将该服务公开为负载平衡器,而不是节点端口。因此,执行以下命令: kubectl公开服务前端-名称=前端lb-端口=80-目标端口=8079-类型=负载平衡器-命名空间=sock shop 在这之后给一些时间,你将能够通过公共IP地址ephimeral访问袜子店的前端 第二种更高级的方法是配置入口负载平衡器。 您需要配置另一个yaml文件,并将此代码放入其中,然后像处理上一个.yaml文件一样运行它
nano basic-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace : sock-shop
name: basic-ingress
spec:
backend:
serviceName: front-end
servicePort: 80
kubectl apply -f basic-ingress.yaml --namespace=sock-shop
通过此命令定位公共IP地址,最多15分钟后,您应该能够访问Sock Shop
kubectl get ingress --namespace=sock-shop