Fabric8 java库编辑现有资源

问题描述 投票:0回答:1

我想编辑一个入口以获得另一条路径,如下所示

现有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

我错过了什么?

java kubernetes fabric8
1个回答
1
投票

我相信你需要使用addToPaths(path)代替。像这样的东西:

kubernetesClient.extensions().ingresses().inNamespace(my-env)
        .withName(ingressName).edit().editOrNewSpec().editFirstRule().editHttp()
        .addToPaths(path).withNewBackendLike(ingressBackend);

更多信息here

© www.soinside.com 2019 - 2024. All rights reserved.