Heapster:未经授权,grafana:未经授权

Heapster : Unauthorised, grafana: unauthorised

我部署了heapster+grafana+influxdb组合。我得到了这样的结果

$kubectl cluster-info
Kubernetes master is running at https://192.168.99.100:8443
Heapster is running at 
https://192.168.99.100:8443/api/v1/namespaces/kube-
system/services/heapster/proxy
monitoring-grafana is running at 
https://192.168.99.100:8443/api/v1/namespaces/kube-
system/services/monitoring-grafana/proxy
monitoring-influxdb is running at 
https://192.168.99.100:8443/api/v1/namespaces/kube-
system/services/monitoring-influxdb/proxy

但是当我尝试在网络浏览器中访问这些服务时,出现以下错误:

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
  },
  "status": "Failure",
  "message": "Unauthorized",
  "reason": "Unauthorized",
  "code": 401
}

我不明白为什么会这样。有帮助的朋友吗?

嗯,您的浏览器未被授权访问 kubernetes API。最简单的方法是 运行 kubectl proxy,它将对集群进行身份验证,并代理 API 从本地主机到您的 kube API 的请求。这样你就可以在 127.0.0.1 上访问 API 而无需浏览器端的凭据。

我解决了这个问题。我使用 Nodeport 公开了 grafana 和 heapster。 我在 grafana 和 heapster yaml 文件(服务)

的规范下添加了以下指令
 type: NodePort

然后我使用以下命令检查了服务列表。

kubectl get services -n kube-system

grafana和heapster的暴露端口是这样显示的。

80:32068/TCP for heapster <br>
80:32230/TCP for grafana<br>

然后我可以通过 cluster_IP:port 访问 grafana 和 heapster
例如:

对于 grafana - http://192.168.99.100:32230/
对于 heapster -http://192.168.99.100:32068/api/v1/model/namespaces/default/pods/