Java-библиотека Fabric8 для редактирования существующего ресурса - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу отредактировать вход для другого пути следующим образом

Существующий вход:

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

Я хочу добавитьновый бэкэнд для нового пути для существующего входа.Я использую Java-библиотеку fabric8 для достижения этой цели следующим образом

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

Чего мне не хватает?

1 Ответ

0 голосов
/ 26 сентября 2018

Полагаю, вам нужно использовать addToPaths(path).Примерно так:

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

Подробнее здесь

...