kubectl日志无效,所有其他命令都有效

时间:2017-07-24 07:43:18

标签: kubernetes kubectl

在kubernetes 1.5.2上,所有突发的 kubectl日志都显示错误而其他命令工作正常,所以群集设置肯定没有问题,但可能存在某种错误。请告知是否有解决方法来使日志正常工作。

**Error from server: Get https://Minion-1-IP:10250/containerLogs/default/some-pod-name-3851540691-b18vp/some-pod-name?follow=true: net/http: TLS handshake timeout**

错误如下:

[static]

请帮忙。

2 个答案:

答案 0 :(得分:1)

我认为群集设置存在问题。此错误消息不是来自kubectl和apiserver之间的连接,而是来自apiserver和kubelet之间的连接。因此,这两者之间的证书可能不正确。

免责声明:我现在无法验证这个想法,但我们不久前遇到过类似的问题。

答案 1 :(得分:1)

简而言之,对我来说,问题是由代理配置错误引起的。

我上周遇到了同样的症状。戳了一段时间后,这个ISSUE出现了。

对我来说,这是因为我使用

初始化了集群
HTTP_PROXY=http://10.196.109.214:8118 HTTPS_PROXY=http://10.196.109.214:8118 NO_PROXY=10.196.109.214,localhost,127.0.0.1 kubeadm init

10.196.109.214是我的主节点,在上面建立了http代理。代理设置会自动用kubernete的manifists编写。这里的NO_PROXY不包含任何工作程序节点,因此导致一切正常,但我无法从工作程序中检索任何日志。

我只是手动编辑了/etc/kubernetes/manifests/kube-*.yaml的env部分,并添加了工作节点的ips:

env:
- name: NO_PROXY
  value: 10.196.109.214,10.196.109.215,10.196.109.216,10.196.109.217,localhost,127.0.0.1
- name: HTTP_PROXY
  value: http://10.196.109.214:8118
- name: HTTPS_PROXY
  value: http://10.196.109.214:8118

然后使用kubectl -n kube-system get pods查找相对的Pod,并使用kubectl -n kube-system delete pod <pod-name>删除它们,等待kubelet重新创建它们。现在一切正常。