kubernetes 集群网络不通解决办法

之前在虚拟机上用源码安装的1.5.2集群,由于机器性能问题,后来直接就把它干掉了,使用上篇的方式再次安装了单机器上的服务,在按照书上做实验时,发现节点之间无法进行通讯,网络不通,按理来说,单机器上的是不存在这样的问题;回想自己的操作,突想到一个知识点,k8s的创建RC的时候会自动生成pod,该pod也会生成一个属于自己的ip,但是服务是后台的svc提供的,svc生成的ip是无法访问的,所以需要装flannel工具

两种安装的方法: 
https://github.com/coreos/flannel/releases 去github上下载amd安装包,解压出来mk-docker-opts.sh,flanneld两个二进制文件,将其复制到/usr/bin/ ,编辑:vim /usr/lib/systemd/system/flanneld.service 
[Unit] 
Description=Flanneld overlay address etcd agent 
After=network.target 
After=network-online.target 
Wants=network-online.target 
After=etcd.service 
Before=docker.service

[Service] 
Type=notify 
EnvironmentFile=/etc/sysconfig/flanneld 
EnvironmentFile=-/etc/sysconfig/docker-network 
ExecStart=/usr/bin/flanneld-start $FLANNEL_OPTIONS 
ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker 
Restart=on-failure

[Install] 
WantedBy=multi-user.target 
RequiredBy=docker.service 
vim /etc/sysconfig/flanneld

配置文件:config:

FLANNEL_ETCD_ENDPOINTS=”http://127.0.0.1:2379”  ##这条是你自己的etcd的url 
FLANNEL_ETCD_PREFIX=”/atomic.io/network”              ##这是flannel设置对应ip key存放位置

etcdctl set /atomic.io/network/config ‘{ “Network”: “10.1.0.0/16” }’  设置ip  
tcdctl get  /atomic.io/network/config ‘{ “Network”: “10.1.0.0/16” }’  查看是否设置成功

systemctl stop docker  启动flanneld之前需要停掉docker 否则会导致容器通讯出错 
systemctl start flanneld  
mk-docker-opts.sh -i 
source /run/flannel/subnet.env  
ifconfig docker0 ${FLANNEL_SUBNET}

ip addr 
3: docker0: 
--------------------- 
作者:Arno_e 
来源:CSDN 
原文:https://blog.csdn.net/Arno_e/article/details/77249018 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(kubernetes 集群网络不通解决办法)