0

我部署了 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
}

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

4

2 回答 2

1

好吧,您的浏览器无权访问 Kubernetes API。最简单的方法是运行kubectl proxy它将对集群进行身份验证,并从 localhost 到您的 kube API 的代理 API 请求。这样您就可以在浏览器端访问 127.0.0.1 上的 API 而无需凭据。

于 2018-01-05T10:13:42.603 回答
0

我解决了这个问题。我使用 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/

于 2018-01-06T06:44:59.640 回答