当我像下面这样指定json时,我正在尝试修补入口,我能够做到(我知道,下面所有的命令都启用了--dry-run,我知道):
kubectl patch ing ing-routing '--type=json' '--patch=[{"op": "add","path": "/spec/rules/0/http/paths/-","value": {"path": "/path/to/patch/service", "backend": {"serviceName": "patch-svc-cip","servicePort": 8443}}}]' --dry-run -o yaml -n namespace但是如果我试着这样做:
value="$(</tmp/ingress-route-patch.json)"
kubectl patch ing ing-routing '--type=json' '--patch=$value' --dry-run -o yaml -n namespace我得到这个错误:error: json: cannot unmarshal string into Go value of type jsonpatch.Patch
我也试过
ingressRoute=$(cat /tmp/ingress-routing-patch.json)
kubectl patch ing ing-routing '--type=json' '--patch=$ingressRoute' --dry-run -o yaml -n namespace&
kubectl patch ing ing-routing '--type=json' '--patch=$(cat /tmp/ingress-routing-patch.json)' --dry-run -o yaml -n namespace&
kubectl patch ing ing-routing --type='json' -p='$(cat /tmp/ingress-routing-patch.json)' --dry-run -o yaml -n namespace但每次都会出现相同的错误。我需要从文件中修补它,因为我们需要动态添加端点。
发布于 2020-07-23 21:08:35
您应该在-p标志中使用",而不是'。下面是我的作品
kubectl patch ing ing-routine --type='json' -p="$(cat /tmp/ingress-routing-patch.json)" --dry-run -o yamlhttps://stackoverflow.com/questions/63054574
复制相似问题