kubernetes url路由到主机上的nginx入口
我的规则应该是什么样子的: 如果希望支持到服务的动态url映射kubernetes url路由到主机上的nginx入口,kubernetes,kubernetes-ingress,nginx-ingress,Kubernetes,Kubernetes Ingress,Nginx Ingress,我的规则应该是什么样子的: 如果希望支持到服务的动态url映射 /a should map to service service-a /b should map to service service-b /cccc should map to service service-cccc 注意:可以动态添加服务 因此,10分钟后。我们现在有 /dddd should map to service service-dddd 基本上,您一直在向$.spec.rules[x].http.paths
/a should map to service service-a
/b should map to service service-b
/cccc should map to service service-cccc
注意:可以动态添加服务
因此,10分钟后。我们现在有
/dddd should map to service service-dddd
基本上,您一直在向$.spec.rules[x].http.paths追加新路径,其中x是要添加路径的主机的索引
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
namespace: my-namespace
annotations:
kubernetes.io/ingress.class: "nginx"
# and other annotations you need..
#labels:
# if you need labels
spec:
rules:
- host: "your.hostname"
http:
paths:
- path: /a
backend:
serviceName: service-a
servicePort: 443 # say your service runs on 443
- path: /b
backend:
serviceName: service-b
servicePort: 443 # say your service runs on 443
- path: /cccc
backend:
serviceName: service-cccc
servicePort: 443 # say your service runs on 443
服务映射的路径是否可以有通配符。在土生土长的kubernetes yaml中,你不能这样做。对于上面的用例,最好的选择是使用脚本。然而,我确实认为应该为每个服务定义一个入口对象——这就是人们所做的,而且它可以正常工作。通过这种方式,您将能够使用诸如kustomize(轻量级)或臭名昭著的helm之类的模板工具。您将在yaml模板中使用一些“通配符”,这些工具将在运行时填充值。。这意味着我不想重新启动nginx您不必重新启动nginx