关于kubernetes中端口无法使用telnet链接的相关解决方案
首先公布一下虚拟机环境master节点和work节点的主机环境如下:使用:lsb_release -a外部物理机环境为:在这个情况下,我们的虚拟机也是基于ARM架构的。这里,我在子节点加入master节点的过程中,一直出现timeout=10的超时现象,通过telnet命令尝试进行网络端口连通性测试,发现无法联通。但是通过ping命令可以直接访问,猜测是防火墙的问题。尝试通过命令:systemct
首先公布一下虚拟机环境
master节点和work节点的主机环境如下:
使用:
lsb_release -a
外部物理机环境为:
在这个情况下,我们的虚拟机也是基于ARM架构的。
这里,我在子节点加入master节点的过程中,一直出现timeout=10的超时现象,通过telnet命令尝试进行网络端口连通性测试,发现无法联通。
但是通过ping命令可以直接访问,猜测是防火墙的问题。
尝试通过命令:
systemctl stop firewalld
systemctl stop iptables
但是会显示无法找到firewalld和iptables。
我们尝试使用apt-get remove iptables,成功发现系统中竟然存在一个iptables防火墙。
我们使用apt-get remove命令删除软件包之后,我们发现docker环境、kubectl、kubeadm、kubelet服务全部被删除了。
竟然这样,我们只能重新安装我们的docker、kubectl、kubradm、kubelet环境。
由于之前的安装可能存在一些遗留的数据,我们需要根据安装过程中的报错信息,将遗留文件删除。
重新进行文章:
https://editor.csdn.net/md/?articleId=123311993
https://editor.csdn.net/md/?articleId=123316940
所展示的kubernetes环境配置,我们将master节点上线,并根据搭建时提供的kubeadm join命令将子节点加入master节点,
在这里我们需要提现配置网络yaml文件,并将子节点的swap功能关闭
关闭命令:
swapoff -a
当使用
free -m
命令查看后,如果swap空间都是0,那么意味着我们成功关闭了swap功能。
当swap功能关闭后,我们可以使用join命令加入master节点。如果加入过程中出现故障,可以参考如下命令:
swapoff -a
kubeadm reset
rm /etc/cni/net.d/* -f
systemctl daemon-reload
systemctl restart kubelet
同时需要根据join时的提示命令对应的删除遗留文件。
在安装过程中可以使用ping命令检测网络连通性。
并提前检测master节点的status是否处于ready状态。
同时我们需要确认是否所有的k8s的pods 都处于Runing状态。
如果pods没有处于running状态,我们根据k8s的pods等同于docker容器,可以通过docker ps命令查看docker容器的id。并通过docker logs + id来查看pods 的日志信息。
具体效果图
同时需要时刻关注docker和kubelet的服务状态,如果服务出现问题,需要使用journalctl -xeu + 服务名来查询服务的logs信息,并通过报错代码段通过搜索引擎进行查找相应的解决方案。
需要注意的是,如果通过apt-get install docker命令安装的docker或者snap install docker命令安装的docker服务,在systemctl restart docker命令中将会显示docker服务无法找到,解决方案便是运行官方的docker安装脚本:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
更多推荐
所有评论(0)