我想使用正式的Java kubernetes client从Java程序中修补现有的Ingress,但是我无法弄清楚patchNamespacedIngress
调用的正确格式是什么。
documentation仅表示对象。唯一有效的方法是,如果我将一个空的JSON数组传递为字节Arrey,即extensionsV1beta1Api.patchNamespacedIngress(name, namespace, "[]".getBytes("UTF-8"), pretty);
。
这是当前的入口配置
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
traefik.ingress.kubernetes.io/service-weights: |
cheddar: 50%
stilton: 50%
name: cheese
spec:
rules:
- http:
paths:
- backend:
serviceName: cheddar
servicePort: 80
path: /
- backend:
serviceName: stilton
servicePort: 80
path: /
我想应用此补丁
metadata:
annotations:
traefik.ingress.kubernetes.io/service-weights: |
cheddar: 80%
stilton: 20%
name: cheese
如果我直接将修补程序作为正文或JSON修补程序发送,我只会收到400 Bad request
响应。