首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块无法连接kubelet

模块无法连接kubelet
EN

Stack Overflow用户
提问于 2018-12-24 06:40:43
回答 1查看 2.1K关注 0票数 4

我们有一个安装程序,其中Metr节拍作为一个DaemonSet部署在一个Kubernetes集群上(特别是-- AWS )。

一切似乎都正常运行,但kubelet连接。

为了澄清,以下模块:

代码语言:javascript
复制
- module: kubernetes
  enabled: true
  metricsets:
    - state_pod
  period: 10s
  hosts: ["kube-state-metrics.system:8080"]

工作正常(事件流入逻辑库/弹性)。

然而,这个模块配置在主机值的任何变体(localhost/kubernetes.default/whatever)中都不起作用:

代码语言:javascript
复制
- module: kubernetes
  period: 10s
  metricsets:
    - pod
  hosts: ["localhost:10255"]
  enabled: true
  add_metadata: true
  in_cluster: true

注意:使用集群IP而不是localhost (这样它就可以进入控制平面)也能工作(当然,它不会检索所需的信息)。 上面的配置是直接从Metr节特文档中获取的,并立即让我感到奇怪--如何将localhost (从Metricbeat内部)翻译到相应的kubelet?

正如人们所预期的那样,这一错误是基于以上所述:

代码语言:javascript
复制
error making http request: Get http://localhost:10255/stats/summary: 
dial tcp [::1]:10255: connect: cannot assign requested address

这意味着某种连接问题。

但是,当部署到任何节点的SSH-ing时,http://localhost:10255/stats/summary提供了正确的输出:

代码语言:javascript
复制
{
  "node": {
   "nodeName": "...",
   "systemContainers": [
    {
     "name": "pods",
     "startTime": "2018-12-06T11:22:07Z",
     "cpu": {
      "time": "2018-12-23T06:54:06Z",
      ...
     },
     "memory": {
      "time": "2018-12-23T06:54:06Z",
      "availableBytes": 17882275840,
      ....

我一定是错过了一些很明显的东西。任何建议都行。

注意:我在Elasticsearch论坛上交叉发布了同样的信息(几天内没有收到任何回复)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-29 05:48:53

通过valueFrom提供程序在env:列表中注入Pod节点的IP:

代码语言:javascript
复制
env:
- name: HOST_IP
  valueFrom:
    fieldRef: status.hostIP

然后更新节拍配置文件以使用主机的IP:

代码语言:javascript
复制
hosts: ["${HOST_IP}:10255"]

哪个节拍器将通过它的环境变量配置注入解析

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53910022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档