查看kube-apiserver一直报错如下:
I1226 06:49:10.108947 1 log.go:172] http: TLS handshake error from x.x.x:43534: unexpected EOF
I1226 06:44:10.110418 1 log.go:172] http: TLS handshake error from x.x.x.x:35946: unexpected EOF
从报错提示说是TLS认证失败,排查过程:
- 由于用nginx+Keepalived做master高可用,怀疑是nginx的http健康检查导致。
- kubelet证书问题。
- 检查是否有其他服务调用apiserver的端口。
经过一项项排查,最后发现的是之前用Zabbix的http来监控了apiserver的端口,导致不受认证的,因为k8s集群开启了https。