Kubectl 日志返回 tls 握手超时

问题描述 投票:0回答:3

kubectl -n namespace1 日志 -f podname

返回以下错误。

来自服务器的错误:获取 https://ipaddress:10250/containerLogs/namespace1/podname-xxkb9/podname?follow=true: net/http: TLS 握手超时

代理未设置。

取消设置http_proxy
取消设置 https_proxy

但是问题还是来了。 有人可以帮我解决这个问题吗?

docker kubernetes deployment kubernetes-helm kubernetes-pod
3个回答
3
投票

据我所知,这不是证书问题。这是 API 版本不匹配问题或与 API 相关的其他问题。之前有一些关于stack的讨论,我会附在最后。另外,我几年前也经历过同样的情况,当时我也通过

kubeadm upgrade

解决了这个问题

首先通过运行

kubectl logs -v9
来检查真实的错误消息以获得最大详细程度。

很可能您检查了其他命令,例如

kubectl get pods, nodes
等。这些命令都不需要apiserver联系kubelet,只有kubectl日志需要。 @Kamos 问了你绝对正确的问题:exec/attach/portforward
。 99% 它们也不适合你,因为它们还需要直接联系 kubelet。

您很有可能通过

升级 kubeadm 集群来解决问题

参考资料:

1. Kubernetes - net/http:获取日志时 TLS 握手超时(BareMetal)

2. Kubernetes 记录命令 TLS 握手超时 ANSWER1!!!

3. Kubernetes 记录命令 TLS 握手超时 ANSWER2

4. kubectl 日志失败并出现错误:net/http:TLS 握手超时 #71343


0
投票
在没有代理的情况下重新安装 Kubernetes 解决了这个问题。


0
投票
就我而言,我在 WSL 上运行 AWS EKS 和 kubectl 时遇到了这种情况:

我放入我的.bashrc:

# fixed issue with tls handshake error of terraform EKS export NO_PROXY="${NO_PROXY};eks.amazonaws.com"
问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.