【发布时间】:2018-12-20 12:00:34
【问题描述】:
我已经在 Google 和 Stackoverflow 上查看了有关问题原因的任何提示,但没有任何方法可以帮助解决问题。
背景:
1 大师
6 个节点
收集日志时,主节点和 4 个节点工作正常。 2 全新的节点,相同的操作系统,相同的证书,相同的网络,相同的配置,日志不起作用。
问题:kubectl 记录 pod-5c474fdf8-fk5zm -n 部署 来自服务器的错误:Get https://ip-addr:10250/containerLogs/deployment/pod-5c474fdf8-fk5zm/pod:net/http:TLS 握手超时
从主节点和其他4个节点,每次返回日志。我以前也遇到过这个问题,奇迹般地消失了。这次不开心了。
我尝试过的事情:
- 打开防火墙上的端口 - 安装和信任的主要证书 - 将主机名和 IP 添加到主机文件 - 删除重新添加节点 - 更新了系统证书 - 从其他节点远程登录到端口 10250 上的违规节点 - openssl s_client -connect offendingnodes.com:10250 并与 openssl s_client -connect workingnodes.com:10250 进行比较 - 搜索错误 - 再次阅读 K8s 文档。
我真的很茫然,所以任何帮助将不胜感激。
【问题讨论】:
-
您是否测试过证书是否正常工作?你可以使用
curl -vvI http://test -
谢谢。经过进一步调查,如果我使用命令
kubectl logs -v8 pod-5c474fdf8-fk5zm -n deployment
我会收到完全不同的响应:I0713 11:36:32.412353 110517 helpers.go:201] server response object: [{ "metadata": {}, "status": "Failure", "message": "Get ip-addr:10250/containerLogs/deployment/pod-bdszd/pod: net/http: TLS handshake timeout", "code": 500 }] 这对我来说会建议它不是由证书引起的问题,而是由API服务器引起的。 -
如何收集日志?
kubectl get cs和kubectl get nodes命令的输出呢? -
@NicolaBen 我通过 kubectl -n (namespace) log (pod-name) 收集了日志。集群状态显示一切正常运行。获取节点再次显示一切都很好,除了版本不同。
标签: logging kubernetes tls1.2