在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]
请帮忙。
答案 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重新创建它们。现在一切正常。