我在AWS上使用kubernetes和CoreOS& flannel VLAN网络。
(遵循本指南https://coreos.com/kubernetes/docs/latest/getting-started.html)
k8s版本为1.4.6
。
我有以下node-exporter daemon-set。
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]
仅提供信息,尽管有这个错误消息,node_exporter可以在例如172-17-96-6:9100
上访问。我的节点位于专用网络中,包括k8s master。
但是这些日志输出太多,很难从我们的日志控制台看到其他日志。我能看到如何解决此错误吗?
因为我是从头开始构建我的k8s群集,所以cloud-provider=aws
标志最初没有激活,我最近打开了它,但不确定它是否与此问题有关。
答案 0 :(得分:0)
看起来这是由我的另一个清单文件
引起的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守护进程集,但是当我在守护进程集(实际上是一个pod)清单中设置hostNetwork: true
时,它可能会引入某种冲突。我不是100%肯定,但在我删除此服务后,错误消失,而我仍然可以从k8s群集外部访问172-17-96-6:9100
。
我在设置prometheus和节点导出器时紧接着这篇文章, https://coreos.com/blog/prometheus-and-kubernetes-up-and-running.html
如果其他人面临同样的问题,我会在这里留下我的评论。