繁体   English   中英

看不到 kubernetes pod 的日志

[英]Can't see logs of kubernetes pod

按照本指南安装 kubernetes 集群后,我决定检查系统 pod kube-scheduler 的日志以确保一切正常:

 kubectl logs --namespace kube-system kube-scheduler-user223225-pc

但我收到下一条错误消息:

Error from server: Get https://10.2.2.131:10250/containerLogs/kube-system/kube-scheduler-user-pc/kube-scheduler: dial tcp 10.2.2.131:10250: getsockopt: no route to host

我尝试从其他 pod 获取日志并得到相同的错误。

我在 Ubuntu 16.04 上运行集群并选择使用以下命令安装 flannel 网络:

kubectl taint nodes --all node-role.kubernetes.io/master-
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
kubectl create --namespace kube-system -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

也许,我错过了一些东西,我也看到人们建议配置防火墙,但这对我没有帮助:

sudo systemctl stop kubelet
sudo systemctl stop docker
sudo ifconfig cni0 down
sudo ifconfig flannel.1 down
sudo ifconfig docker0 down

sudo service docker start
sudo service kubelet start

sudo iptables -A FORWARD -i cni0 -j ACCEPT
sudo iptables -A FORWARD -o cni0 -j ACCEPT

有人知道如何解决获取日志的问题吗? 提前谢谢你。

kubernetes 进程日志将记录在节点 syslog 中。 您可以查看 /var/log/syslog 文件。

使用kubectl命令验证集群配置。

例如

kubectl 获取节点 kubectl 获取 pods -o 宽

您也可以安装仪表板 UI 来检查集群。

来自@sfgroups 和@Kirill Liubun 之间的讨论:

  • 问题的根本原因:旧 ip 地址设置在/etc/hosts ,并在 Kubernetes 集群设置期间使用。 因此, kube-scheduler pod 和主节点 IP 之间存在 IP 地址不匹配。

  • 问题已通过修复/etc/hosts 、更改 IP 地址以更正 IP 地址并使用kubeadm重新安装 kubernetes 集群而得到解决

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM