问题标签 [heapster]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scale - kubernetes autoscale 无法获取指标(heapster 已安装在 kube-system 命名空间中)
我用 vagrant 和 centos 7 创建了一个迷你集群。我设法安装了 kube-dns 和 heapster,但是当我尝试使用 php-apache 示例测试自动缩放时,它不起作用。
这很奇怪,因为我可以看到 grafana 的指标和限制。我的 kube-dns 和 heapster 在 kube-system 命名空间中,所以它应该可以工作。
我有 kubernetes 1.2,如果有人可以提供帮助,那就太棒了。
以下是 heapster 的日志:
kubernetes - kubernetes(heapster、influxdb、grafana)中没有 pod 监控信息
我通过 kubectl create -f ./cluster/addons/cluster-monitoring/influxdb 文件从https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/创建 heapster、influxdb、grafana 来监控 kubernetes cluster-monitoring/influxdb 我可以访问 grafana、kube status 和 influxdb(后者通过将 :http 附加到 url ),但我无法访问 heapster(获取 404 ),并且 grafana 可以列出节点监视器信息,并且没有 pod监控信息,为什么?
docker - Heapster 无法从 Kubernetes 集群上的 Kubelet 获取容器统计信息
我已经根据通过 Docker 在本地运行 Kubernetes指南在 Ubuntu(值得信赖)上设置了 Kubernetes 集群,部署了 DNS 并使用 InfluxDB 后端和 Grafana UI 运行 Heapster。
除了 Grafana 之外,一切似乎都运行顺利,它不显示任何图表,但图表中的消息No datapoints
:截图
检查 Docker 容器日志后,我发现 Heapster 无法访问 kubelet API(?),因此没有指标被持久化到 InfluxDB 中:
我在 GitHub 上发现了一些描述类似问题的问题,这些问题让我明白 Heapster 不是访问 kubelet(通过节点的环回)而是访问本身(通过容器的环回)。但是,我无法重现他们的解决方案:
github.com/kubernetes/heapster/issues/1183
您应该为 Heapster pod 使用主机网络,或者以节点具有常规名称而不是 127.0.0.1 的方式配置集群。当前的问题是节点名称被解析为 Heapster localhost。如果有更多问题,请重新打开。
-@piosz
- 如何为我的 Heapster pod 启用“主机网络”?
- 如何配置我的集群/节点以使用常规名称而不是 127.0.0.1?
github.com/kubernetes/heapster/issues/744
通过在 hyperkube 中使用更好的选项进行了修复,感谢您的帮助!
-@ddispaltro
- 有没有办法通过添加/修改 kubelet 的选项标志来解决这个问题
docker run
?
我尝试设置--hostname-override=<host's eth0 IP>
and--address=127.0.0.1
(如本 GitHub 问题的最后一个答案中所建议的那样),但 Heapster 的容器日志随后指出:
I0701 08:23:05.000566 1 manager.go:79] Scraping metrics start: 2016-07-01 08:22:00 +0000 UTC, end: 2016-07-01 08:23:00 +0000 UTC E0701 08:23:05.000962 1 kubelet.go:279] Node 127.0.0.1 is not ready E0701 08:23:05.003018 1 kubelet.go:230] error while getting containers from Kubelet: failed to get all container stats from Kubelet URL "http://<host's eth0 IP>:10255/stats/container/": Post http://<host's eth0 IP>/stats/container/: dial tcp <host's eth0 IP>:10255: getsockopt: connection refused
命名空间问题
这个问题可能是由于我在命名空间中运行 Kubernetes APIdefault
而在 Heapster 中运行的事实引起的kube-system
吗?
操作系统:Ubuntu 14.04.4 LTS(值得信赖)| Kubernetes:v1.2.5 | 码头工人:v1.11.2
api - 在 Kubernetes 上使用 Heapster API 的先决条件
在我使用 Heapster API 检索与 Kubernetes 相关的指标之前,除了启动 Heapster 的服务之外,还有哪些先决步骤?谢谢。
docker - 由于已经使用了 NodePort,Kubernetes 不断删除 Heapster 和 Grafana 服务
我正在通过 Docker 在本地 Ubuntu(可信)上运行 Kubernetes 集群。
由于我使用 Vagrant 创建 Ubuntu VM,我不得不稍微修改docker run
官方 Kubernetes 指南中的命令:
此外,运行反向代理允许我从 VM 外部通过浏览器访问集群的服务:
这些步骤运行良好,最终我可以在浏览器中访问 Kubernetes UI。
现在,我想在带有 InfluxDB 后端和 Grafana UI 的 Kubernetes 集群中运行 Heapster,正如本指南中所述。为此,我克隆了 Heapster 存储库并grafana-service.yaml
通过添加以下内容配置为使用外部 IP type: NodePort
:
创建服务、rcs 等:
如您所见,一切似乎运行顺利,我还可以通过浏览器在http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana/访问 Grafana 的 UI 。
但是,大约 1 分钟后,Heapster 和 Grafana 端点都从kubectl cluster-info中消失了。
浏览器输出:
Pod 仍在运行中...
...但 Heapster 和 Grafana 服务已经消失:
在检查kubectl cluster-info dump
我的输出时发现了以下错误:
显然,Heapster 和 Grafana 的服务和端点由于 nodePort
已经在使用中而被删除。我没有指定nodePort
in grafana-service.yaml
,这意味着 Kubernetes 可以选择一个尚未使用的 - 那么这怎么可能是错误呢?另外,有没有办法解决这个问题?
操作系统:Ubuntu 14.04.4 LTS(值得信赖)| Kubernetes:v1.3.0 | 码头工人:v1.11.2
kubernetes - 如何在 heapster 中使用身份验证文件
我正在运行一个安全的 kubernetes 集群,其中使用 keystone 完成身份验证。现在,我正在尝试运行 heapster,但出现以下错误:
我想知道如何将身份验证文件传递给 heapster 以及该文件应该包含什么?或者有没有其他方法可以向 heapster 提供凭据?
TIA。
kubernetes - 当它们只是信息时,日志显示为错误
当我查看容器引擎日志时,我看到了很多警告。在进一步挖掘之后,我意识到这些错误实际上只是来自 heapster 的日志。
我相信这是由于日志开始于I0730
我的 kubernetes 集群正在使用版本:1.3.2
kubernetes - 无法使用 Minikube 创建监控 Grafana 服务
我正在使用 Minikube,我正在尝试使用 Grafana 和 Influxdb 配置 Heapster。我按照此处的说明操作,成功创建了所有 ReplicationControllers、Pods 和服务,但 Monitoring-grafana 服务除外。
我只更改了 grafana-service.yaml 以添加类型:NodePort:
当我输入 kubectl create -f grafana-service.yaml 时,Kubernetes 似乎正在成功创建服务,但实际上并没有。它只是创建它并在 10 秒后消失。
我已经检查了容器(InfluxDB、Grafana 和 Heapter)的日志,一切似乎都很好。
我还尝试从 Kubernetes 仪表板创建服务,结果相同。它创建了服务,几乎立即没有服务。
很抱歉这个巨大的帖子。我希望你能帮助我。谢谢。
编辑
感谢@Pixel_Elephant。删除两个文件中的标签 'kubernetes.io/cluster-service: 'true'' 后:grafana-service.yaml 和 heapster-service.yaml 服务可以继续存在。
再迈一步:在 influxdb-grafana-controller.yaml 中更改:
为了
我终于可以在http://192.168.99.100/ < NODE_PORT>/中访问 Grafana 仪表板
kubernetes - 自动缩放 (HPA) 无法获取 CPU 消耗:无法将对象解组为 []v1alpha1.PodMetrics 类型的 Go 值
我正在尝试在我的 Kubernetes 集群中测试HPA (水平 pod 自动缩放)。Heapster 已启动并正在运行,我认为它运行良好,因为我能够在 Grafana 中查看指标。DNS插件也运行良好。
查看 HPA 内部,我可以看到错误“无法获取 CPU 消耗和请求:无法解组堆响应:json:无法将对象解组为 []v1alpha1.PodMetrics 类型的 Go 值”
Heapster 的日志说:
我的集群有 2 个节点,主节点也是一个节点。更多信息:
是 Heapster 版本和 Kubernetes 版本之间的问题吗?我今天做了 Heapster 的 git clone,所以它是最新版本。