我部署了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
}
我不明白为什么会这样。有帮助的朋友吗?
答案 0 :(得分:1)
好吧,您的浏览器无权访问kubernetes API。最简单的方法是运行将kubectl proxy
验证集群以及从localhost到您的kube API的代理API请求。这样,您就可以在127.0.0.1上访问API而无需浏览器端的凭据。
答案 1 :(得分: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
例如:
for grafana - http://192.168.99.100:32230/
对于heapster - http://192.168.99.100:32068/api/v1/model/namespaces/default/pods/