用于编辑现有资源的Fabric8 java库
我想编辑一个入口,使其具有另一个路径,如下所示用于编辑现有资源的Fabric8 java库,java,kubernetes,fabric8,Java,Kubernetes,Fabric8,我想编辑一个入口,使其具有另一个路径,如下所示 kubernetesClient.extensions().ingresses().inNamespace(my-env) .withName(ingressName).edit().editOrNewSpec().editFirstRule().editHttp() .addNewPathLike(path).withNewBackendLike(ingressBackend); 现有入口: apiVersion
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: /testpath
backend:
serviceName: test
servicePort: 80
更新入口:
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
我想为现有入口的新路径添加一个新后端。我使用Fabric8Java库来实现这一点,如下所示
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);
更多信息