kubernetes部署metric-server遇到403 Forbidden问题
1. 检查 RBAC 配置
确保 Metrics Server 的 RBAC 配置正确,包括 ClusterRole 和 ClusterRoleBinding。以下是一个完整的 RBAC 配置示例:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: metrics-server-role
rules:
- apiGroups: [""]
resources: ["nodes", "nodes/stats", "pods"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: metrics-server-rolebinding
subjects:
- kind: ServiceAccount
name: metrics-server
namespace: kube-system
roleRef:
kind: ClusterRole
name: metrics-server-role
apiGroup: rbac.authorization.k8s.io
应用上述配置:
kubectl apply -f <(echo "$RBAC_YAML")
2. 检查 Kubelet 配置
确保 Kubelet 的配置允许 Metrics Server 访问节点数据。Kubelet 的配置文件(通常是 /etc/kubernetes/kubelet.conf)中需要包含以下参数:
-
--authentication-token-webhook=true -
--authorization-mode=Webhook
如果这些参数未启用,Kubelet 将无法正确验证 Metrics Server 的请求。
3. 检查 TLS 配置
如果 Kubelet 使用了 TLS 证书,确保 Metrics Server 能够正确处理 TLS 验证。可以通过以下方式解决 TLS 问题:
-
跳过 TLS 验证(仅限测试环境): 在 Metrics Server 的 Deployment 中添加以下参数:
args: - --kubelet-insecure-tls -
配置 TLS 证书: 确保 Kubelet 的 TLS 证书包含正确的 SAN(Subject Alternative Name)条目,并将证书路径配置到 Metrics Server 中。
4. 检查网络策略
确保集群中的网络策略允许 Metrics Server 访问 Kubelet 的 /metrics/resource 端点。如果使用了 Calico 或其他网络插件,检查是否有阻止 Metrics Server 访问的策略。
5. 验证 Metrics Server 版本
确保 Metrics Server 的版本与 Kubernetes 集群版本兼容。例如:
-
Kubernetes 1.19+ 需要 Metrics Server 0.6.x
-
Kubernetes 1.18 需要 Metrics Server 0.5.x
可以通过以下命令检查 Metrics Server 的版本:
kubectl describe deployment metrics-server -n kube-system | grep Image
如果版本不匹配,可以手动下载对应版本的 Metrics Server 配置文件并部署:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
6. 查看日志
查看 Metrics Server 的日志,查找可能的错误信息:
kubectl logs -n kube-system <metrics-server-pod-name>
7. 检查 API Service 注册
确保 Metrics Server 的 API Service 已正确注册:
kubectl get apiservice v1beta1.metrics.k8s.io
如果未注册,可以尝试重新应用 Metrics Server 的配置文件:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
更多推荐
所有评论(0)