如何用JSON Patch为Kubernetes AccessContextManager服务边界添加项目
解决Kubernetes AccessContextManagerServicePerimeter的JSON Patch错误
你的kubectl patch命令存在两个关键问题:
1. JSON Patch路径错误
你当前的路径/spec/status/resources/-/projectRef是试图给数组最后一个已有元素添加projectRef字段,但你的需求是向resources数组新增一个完整的资源项,正确路径应该直接指向数组的末尾位置/spec/status/resources/-。
2. Value结构错误
你写的value里,external的值被错误包裹成了对象格式{"projects/01234567"},但实际上它应该是一个字符串值。
正确的kubectl patch命令
kubectl patch AccessContextManagerServicePerimeter serviceperimetersample --type='json' -p='[{"op": "add", "path": "/spec/status/resources/-", "value": {"projectRef": {"external": "projects/01234567"}}}]'
验证结果
执行命令后,可通过以下命令查看更新后的资源配置,确认新的projectRef已成功添加到spec.status.resources数组中:
kubectl get AccessContextManagerServicePerimeter serviceperimetersample -o yaml
内容的提问来源于stack exchange,提问作者Mariusz
相关产品推荐
相关产品推荐

