Kubernetes外部访问度量服务器API
我正在尝试在不使用Kubernetes外部访问度量服务器API,kubernetes,metrics-server,Kubernetes,Metrics Server,我正在尝试在不使用kubectl代理的情况下访问k8s集群的metrics服务器。在找到教程之后,我遇到了一个问题 发出请求时,curl-X GET$APISERVER/api/metrics.k8s.io/v1beta1/nodes--header“Authorization:Bearer$TOKEN”--不安全| jqI获得以下权限错误: curl -X GET $APISERVER/apis/metrics.k8s.io/v1beta1/nodes --header "Autho
kubectl代理的情况下访问k8s集群的metrics服务器。在找到教程之后,我遇到了一个问题
发出请求时,curl-X GET$APISERVER/api/metrics.k8s.io/v1beta1/nodes--header“Authorization:Bearer$TOKEN”--不安全| jq
I获得以下权限错误:
curl -X GET $APISERVER/apis/metrics.k8s.io/v1beta1/nodes --header "Authorization: Bearer $TOKEN" --insecure | jq 11:58AM
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 386 100 386 0 0 2064 0 --:--:-- --:--:-- --:--:-- 2064
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "nodes.metrics.k8s.io is forbidden: User \"system:serviceaccount:default:default\" cannot list resource \"nodes\" in API group \"metrics.k8s.io\" at the cluster scope",
"reason": "Forbidden",
"details": {
"group": "metrics.k8s.io",
"kind": "nodes"
},
"code": 403
}
我已尝试使用以下ClusterRoleBinding创建自定义ServiceAccounttestaccount
:
apiVersion:rbac.authorization.k8s.io/v1beta1
种类:ClusterRole
元数据:
姓名:测试管理员
规则:
-apiGroups:[“”]
资源:[“吊舱”、“节点”]
动词:[“获取”、“监视”、“列表”]
---
apiVersion:rbac.authorization.k8s.io/v1beta1
种类:簇状卷边
元数据:
名称:测试rbac
学科:
-种类:服务帐户
姓名:testaccount
名称空间:默认值
roleRef:
种类:ClusterRole
名称:群集管理
apiGroup:rbac.authorization.k8s.io
我已经用包含的ClusterRole和
cluster admin
cluster角色进行了尝试。在这些更改之后生成的标记仍然会出现相同的curl错误。我发现需要修改的是apiGroups
。以下ClusterRole和ClusterRoleBinding有效:
apiVersion:rbac.authorization.k8s.io/v1beta1
种类:ClusterRole
元数据:
姓名:测试管理员
规则:
-apiGroups:[“*”]#这就是变化
资源:[“吊舱”、“节点”]
动词:[“获取”、“监视”、“列表”]
---
apiVersion:rbac.authorization.k8s.io/v1beta1
种类:簇状卷边
元数据:
名称:测试rbac
学科:
-种类:服务帐户
姓名:testaccount
名称空间:默认值
roleRef:
种类:ClusterRole
姓名:测试管理员
apiGroup:rbac.authorization.k8s.io