报错1

Get http://10.4.41.161:10255/metrics: dial tcp ip:10255: connect: connection refused

解决方法:

cd /etc/kubernetes/
vi kubelet.env 
#修改为
--read-only-port=10255 \
#必须重启
service kubelet restart

报错2

删除命名空间时一直不结束,强制关闭后再 create 提示已存在,delete 也会报错

解决方法:登录k8s,可见此时这个命名空间的状态为Terminating,而不是正常运行的Active。删除失败的原因是命名空间中有一个顽固的pod未删除。这里只需要强制删除这个pod,无需任何操作,以前删除失败的命名空间也会自动消失了。

强制删除命令为:

kubectl delete pods -n 命名空间名 pod名 --grace-period=0 --force

报错3

Failed to pull image "10.4.**.**/prometheus/node-exporter:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://10.4.**.**/v2/: x509: certificate signed by unknown authority

解决方法:重新对镜像打tag,将latest换成其他的。

docker tag prometheus/grafana:latest  grafana/grafana:v1.0

标记成功后,docker images 会发现存在着两个容器id相同,但容器名不一样的容器。此时使用 docker rm 容器ID 明显行不通了,可以采取:docker rmi prometheus/grafana:latest 的方式删除。

报错4

由于Pod被分配到Node之后才会根据镜像下载策略进行镜像下载,因此k8s集群必须在所有的节点放上 prometheus和 nodeexporter 的镜像。

如果从节点缺少prometheus镜像,或者镜像的tag不对,会报错:

Failed to pull image "promoc/prometheus:aclomev1.0": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

node-exporter的daemonset创建之后只能监控从节点,监控主节点的方式目前为在主节点上通过二进制文件运行node-exporter。

解决方式:可以在每个节点docker load镜像,也可以使用docker harbor

报错5

no route to host

解决方法:

systemctl stop firewalld

报错6

args: 
          - "--config.file=/etc/prometheus/prometheus.yaml"
          - "--storage.tsdb.path=/prometheus/data/"
          - "--storage.tsdb.retention=15d"
          - "--web.enable-lifecycle"

注:后面都是双引号,单引号会报错。

Logo

开源、云原生的融合云平台

更多推荐