在guide之后安装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上运行集群,并使用下一个命令选择安装了法兰绒网络:
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
有人知道如何解决获取日志的问题吗?提前谢谢。
答案 0 :(得分:0)
kubernetes进程日志将记录在节点syslog中。你可以查看/ var / log / syslog文件。
使用kubectl
命令验证集群配置。
e.g。
kubectl获取节点 kubectl获得pods -o wide
您也可以安装仪表板UI来检查群集。
答案 1 :(得分:0)
来自@sfgroups 和@Kirill Liubun 之间的讨论:
问题的根本原因:旧 ip 地址在 /etc/hosts
中设置并在 Kubernetes 集群设置期间使用。因此,kube-scheduler
pod 和主节点 IP 之间的 IP 地址不匹配。
问题已通过修复 /etc/hosts
、更改 IP 地址以更正一个地址并使用 kubeadm