您的位置:首页 > Web前端 > Node.js

kubernetes集群使用kubectl logs 无法查看node节点pod日志问题

2017-12-16 22:21 1296 查看

kubernetes集群使用kubectl logs 无法查看node节点上pod日志问题

最近在学习安装使用kubernetes集群,先把集群安装中遇到的一些困难记录下来方便以后查看,避免下次再次遇到相同的问题又得重新查找。

使用了三台服务安装kubernetes集群,其中一台腾讯云服务器,二台阿里云服务器

# 111.230.133.xxx master   服务器主节点
# 120.230.12.xxx slave1
# 111.230.12.xxx slave2


其中kubernetes集群的安装是使用kubeadm 方式安装的。因为需要上google,download image和kubernetes软件包,需要翻墙,因此使用july917博客中july博客 中事先使用proxy下载好的打包成(kubernetes-all-1.8.tar.gz)软件包,里面里面包含配置文件、Docker软件包、kubernetes软件包以及下面的镜像。

# docker_soft:docker安装所需要软件包
# images:镜像文件
# k8s_soft:k8s软件包
# yaml:部署时所需要的配置文件


软件包下载的地址是july917b博客提供的百度云盘的下载地址 http://pan.baidu.com/s/1slOCHop 密码:cm1o。然后参照上面的安装配置kubernetes集群。

集群安装成功后我以为一切正常。可以正常使用。

获取节点:



获取所有的pods:



一切正常。我以为一切安装成功后,万事大吉时当我参考jimmysong.io的kubernetes-handbook安装traefik报错时,想查看pod日志报错问题,却发现只能查看主节点上的pod日志却无法查看其它node节点的日志。

# kubectl logs kube-proxy-69qt8 查看pod日志 从节点无法查看,而在主机节点上的pods使用这个命令后却可以查看。


后面经过@宋净超和@张杰两位大佬的知道可能是网络问题。缺少br_netfilter模块。导致网络问题不正常。有从网上查找博客。Cizixs[kubernetes 简介:service 和 kube-proxy 原理](kubernetes 简介:service 和 kube-proxy 原理)介绍如下:

NOTE: kube-proxy 要求 NODE 节点操作系统中要具备 /sys/module/br_netfilter 文件,而且还要设置 bridge-nf-call-iptables=1,如果不满足要求,那么 kube-proxy 只是将检查信息记录到日志中,kube-proxy 仍然会正常运行,但是这样通过 Kube-proxy 设置的某些 iptables 规则就不会工作。

查看自己的电脑发现自己的电脑上压根就没有这个文件。后面@张杰大佬说,linux内核版本太低需要升级内核版本。

# [root@localhost ~]# uname -sr
Linux 3.10.0-327.el7.x86_64


于是参照andQ的博客把linux内核升级了3.10.0-693.el7.x86_64。然后执行如下命令:

# modprobe br_netfilter
# sysctl net.bridge.bridge-nf-call-iptables=1


重启kubernetes集群后发现可以使用kubectl logs 查看node节点上pod的日志。

致谢:宋净超 、张杰

参考:

kubernetes 简介:service 和 kube-proxy 原理

centos7 通过rpm方式更新到指定内核版本

kubernetes1.8 部署安装

宋净超kubernetes-handbook
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐