kubernetes - 尝试读取入口列表正文时,Kubernetes 客户端给出了 Forebidden 错误
问题描述
我正在尝试使用 Kubernetes 客户端动态更新/删除 K8S 入口规则。下面的代码有助于根据名称获取入口对象,然后使用 Ingress Spec 更新入口规则。
var listIngress = client.ListNamespacedIngressWithHttpMessagesAsync("MyIngress");
var objIngress = listIngress.Result.Body.Items.FirstOrDefault(x => x.Metadata.Name == "MyIngress");
var patchSpec = objIngress.Spec;
一个集群角色是用下面给出的资源动词定义的,并分配给所需的用户。
--verb create,update,patch,delete,get,list,watch,deletecollection --resource services,deployments,ingresses,ingressclasses,endpoints,pods
这适用于早期版本的 kubernetes,但对于最新版本 1.22.0,在尝试获取 listIngress.Result.Body.Items 时会出现以下错误。但是没有任何其他资源报告错误,但只有 Ingress。
{
"statusCode": 500,
"error": "One or more errors occurred. (Operation returned an invalid status code 'Forbidden')"
}
请帮助我理解和解决这个问题。
解决方案
推荐阅读
- grep - Linux shell:使用 grep 和 fzf 在文件中进行交互式模糊搜索内容
- java - 读取 PNG 文件并在 Java 中保留正确的格式
- intellij-idea - 为什么在 dart IDEA 调试器中禁用暂停按钮
- python - 如何在 python 中实现无限数量的套接字连接?
- javascript - 获取来自先前获取的响应
- c# - SQLite 连接字符串相对路径
- c++ - QStyledItemDelegate - 创建编辑器后立即显示按钮菜单
- android - 我如何根据请求在改造 2 中显示 MultipartBody.Part[] 的进度?
- ios - 如何滚动滚动视图以使 TextField 在 SwiftUI 中移动到键盘上方?
- android - 下面带有图像和文本的小部件