我想在kubernetes中创建一个nginx负载均衡器。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ecom-ingress
spec:
defaultBackend:
service:
name: ecom-ui-service
port:
number: 80
rules:
- http:
paths:
- path: /identity
pathType: ImplementationSpecific
backend:
service:
name: ecom-identity-service
port:
number: 80
- path: /catalog
pathType: ImplementationSpecific
backend:
service:
name: ecom-catalog-service
port:
number: 80
我已经在集群上创建了服务和pod,现在我想创建一个入口来使用rewrite访问我的服务。
- http://ip-of-cubernetes(主Map)
- http://ip-of-cubernetes/catalog(列出产品)
- http://ip-of-cubernetes/catalog/112(单个产品)
当我发送这个nginx yml文件使用kubectl命令“kubectl应用-f入口.yml”它创建一个gce负载平衡器在谷歌页面的入口选项卡如下。我不能访问目录端点。它返回nginx 404页。x1c 0d1x
如果我在谷歌管理页面控制台中使用以下helm命令,它会在服务选项卡中创建一个负载平衡器。
helm install nginx-ingress nginx-stable/nginx-ingress --set rbac.create=true
所以我想在服务标签中创建一个nginx负载平衡器,或者我想在gce负载平衡器中使用重写规则。
我如何指定我的入口yml文件来达到这个目的?我想使用重写来使用我的服务来使用查询字符串等。
2条答案
按热度按时间cyej8jka1#
在此link中,其中一个用例是在将请求URI发送到应用程序之前重写请求URI。
还有关于在入口和服务中部署YAML的信息,您可以将其用作部署中的指导。
bmp9r5qi2#
因此,您已经安装了将管理入口对象的入口控制器。
这里是官方链接,你可以参考更多细节:https://cloud.google.com/community/tutorials/nginx-ingress-gke
如果您正在使用Nginx或GCE任何其他控制器,请确保您的入口指向正确的入口类:
您可以创建入口****对象文件
因此,如果您有一个单一服务,您可以使用上面的入口。因此,任何在example.com的请求将被重定向到service-1
在这里分享我的其他路由的例子,你可以参考重写路径,如果你需要它。
参考:https://stackoverflow.com/a/75433607/5525824