问题描述
每当我的 Pod 尝试查询任何 kubelet 端点(任何端口)时,它们都会立即得到一个 connection refused
。
我的目标是让 prometheus 从 cadvisor 获取这些指标,我正在尝试创建一个 ServiceMonitor 来抓取 cadvisor 指标(有关 pod 级别资源使用的信息)。
从我的集群上的任何 Pod 尝试 wget
会导致以下结果:
$ wget 10.116.0.10:4194
Connecting to 10.116.0.10:4194 (10.116.0.10:4194)
wget: can't connect to remote host (10.116.0.10): Connection refused
我在 DigitalOcean 管理的 Kubernetes 上运行
编辑:以上发生在任何端口上,而不仅仅是 4194
服务监视器:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
Metadata:
name: kubelet
labels:
app: prometheus
spec:
jobLabel: k8s-app
endpoints:
- port: cadvisor
interval: 15s
honorLabels: true
tlsConfig:
insecureSkipVerify: true
selector:
matchLabels:
k8s-app: kubelet
app.kubernetes.io/managed-by: prometheus-operator
app.kubernetes.io/name: kubelet
namespaceSelector:
matchNames:
- kube-system
解决方法
错误“连接被拒绝”表示防火墙可能会阻止该端口或没有服务正在侦听该端口。您确定使用正确的端口吗?
端口4194
是cAdvisor使用的端口,为什么要用IP(10.116.0.10)访问?它与 Kubelet 无关。