我想编辑一个入口以获得另一条路径,如下所示
现有Ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 80
更新了Ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 80
- path: /newPath
backend:
serviceName: newService
servicePort: 80
我想为现有入口的新路径添加新的后端。我使用fabric8 java库来实现如下
kubernetesClient.extensions().ingresses().inNamespace(my-env)
.withName(ingressName).edit().editOrNewSpec().editFirstRule().editHttp()
.addNewPathLike(path).withNewBackendLike(ingressBackend);
这正在取代现有的路径和后端。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /newPath
backend:
serviceName: newService
servicePort: 80
我错过了什么?
我相信你需要使用addToPaths(path)
代替。像这样的东西:
kubernetesClient.extensions().ingresses().inNamespace(my-env)
.withName(ingressName).edit().editOrNewSpec().editFirstRule().editHttp()
.addToPaths(path).withNewBackendLike(ingressBackend);
更多信息here