簡體   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