繁体   English   中英

kube-controller-manager输出错误“无法更改NodeName”

[英]kube-controller-manager outputs an error “cannot change NodeName”

我在带有CoreOS和法兰绒VLAN网络的AWS上使用kubernetes。 (遵循本指南https://coreos.com/kubernetes/docs/latest/getting-started.html)k8s版本是1.4.6

而且我有以下node-exporter守护程序集。

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: node-exporter
  labels:
    app: node-exporter
    tier: monitor
    category: platform
spec:
  template:
    metadata:
      labels:
        app: node-exporter
        tier: monitor
        category: platform
      name: node-exporter
    spec:
      containers:
      - image: prom/node-exporter:0.12.0
        name: node-exporter
        ports:
        - containerPort: 9100
          hostPort: 9100
          name: scrape
      hostNetwork: true
      hostPID: true

当我运行此命令时,kube-controller-manager反复输出错误,如下所示:

E1117 18:31:23.197206       1 endpoints_controller.go:513]
Endpoints "node-exporter" is invalid:
[subsets[0].addresses[0].nodeName: Forbidden: Cannot change NodeName for 172.17.64.5 to ip-172-17-64-5.ec2.internal,
subsets[0].addresses[1].nodeName: Forbidden: Cannot change NodeName for 172.17.64.6 to ip-172-17-64-6.ec2.internal,
subsets[0].addresses[2].nodeName: Forbidden: Cannot change NodeName for 172.17.80.5 to ip-172-17-80-5.ec2.internal,
subsets[0].addresses[3].nodeName: Forbidden: Cannot change NodeName for 172.17.80.6 to ip-172-17-80-6.ec2.internal,
subsets[0].addresses[4].nodeName: Forbidden: Cannot change NodeName for 172.17.96.6 to ip-172-17-96-6.ec2.internal]

仅出于信息目的,尽管有此错误消息,也可以在例如172-17-96-6:9100上访问172-17-96-6:9100 我的节点位于包括k8s主服务器的专用网络中。

但是这些日志输出过多,因此很难从我们的日志控制台中看到其他日志。 我可以看看如何解决此错误吗?

由于我是从头开始构建k8s集群的,因此最初未激活cloud-provider=aws标志,并且最近将其打开了,但不确定是否与该问题有关。

看来这是由我的另一个清单文件引起的

apiVersion: v1
kind: Service
metadata:
  name: node-exporter
  labels:
    app: node-exporter
    tier: monitor
    category: platform
  annotations:
    prometheus.io/scrape: 'true'
spec:
  clusterIP: None
  ports:
  - name: scrape
    port: 9100
    protocol: TCP
  selector:
    app: node-exporter
  type: ClusterIP

我认为这是暴露上面的node-exporter守护程序集所必需的,但是当我设置hostNetwork: true在守护程序集(实际上是pod)清单中为hostNetwork: true时,它可能会引入某种冲突。 不过,我不确定100%,删除此服务后,错误消失了,而我仍然可以从k8s集群外部访问172-17-96-6:9100

我在设置prometheus和node-exporter时紧跟着这篇帖子, https: //coreos.com/blog/prometheus-and-kubernetes-up-and-running.html

万一其他人遇到同样的问题,我在这里留下我的评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM