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:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值