You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS执行kubectl logs <podname>命令突然报TLS内部错误如何解决

EKS kubectl logs TLS内部错误修复方案

对应报错信息:

Error from server: Get "https://host:10250/containerLogs/dev/pod-748b649458-bczdq/server": remote error: tls: internal error

该错误本质是Kubernetes API Server与节点kubelet的10250端口TLS握手失败,通常由kubelet证书过期/不匹配导致,无需重建集群,按以下步骤修复即可:

步骤1:确认故障范围

  • 先查询故障Pod所在节点:
    kubectl get pod pod-748b649458-bczdq -n dev -o wide
  • 选择调度到其他节点的正常Pod执行kubectl logs,如果其他节点Pod日志可正常拉取,说明为单节点证书故障,走步骤2;如果所有节点均报相同错误,走步骤3。

步骤2:单节点故障修复

  • 先驱逐故障节点上的业务Pod:
    kubectl drain <故障节点名称> --ignore-daemonsets --delete-emptydir-data
  • 进入EKS控制台对应节点组,删除该故障节点,EKS节点组会自动创建配置正常的新节点,新节点加入集群时会自动签发合法的kubelet证书,完成后验证日志拉取功能即可。

步骤3:全集群范围故障修复

  • 先排查本地kubeconfig证书是否过期:
    kubectl config view --raw -o jsonpath='{.users[*].user.client-certificate-data}' | base64 -d | openssl x509 -noout -dates
    如果输出的notAfter时间早于当前时间,重新生成kubeconfig即可:
    aws eks update-kubeconfig --name <集群名称> --region <集群所在区域>
  • 如果本地证书正常,说明节点侧kubelet证书批量轮转失败,执行节点组强制滚动更新即可:
    aws eks update-nodegroup-version --cluster-name <集群名称> --nodegroup-name <节点组名称> --force
    注意:滚动更新过程中EKS会自动保障业务Pod平滑漂移,不会造成服务中断;如果使用自定义AMI搭建节点组,需要确认AMI中的kubelet配置未手动指定过期的证书文件

验证

修复完成后执行kubectl logs pod-748b649458-bczdq -n dev,确认日志可正常拉取即修复完成。

内容的提问来源于stack exchange,提问作者Pita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:36:03