使用yum方式安装flannel
yum install flannel
创建日志目录
mkdir -p /var/log/k8s/flannel/
配置
vim /etc/sysconfig/flanneld
FLANNEL_ETCD="http://k8s_master_ip:2379"
FLANNEL_ETCD_KEY="/k8s/network"
FLANNEL_OPTIONS="--logtostderr=false --log_dir=/var/log/k8s/flannel/ --etcd-endpoints=http://k8s_master_ip:2379 --iface=本机物理网卡名称"
如果k8s-master是集群,配置不同之处如下:
FLANNEL_ETCD="http://k8s_master_ip1:2379,http://k8s_master_ip2:2379,http://k8s_master_ip3:2379"
启动并添加开机启动项
systemctl start flanneld
systemctl enable flanneld.service
生成环境变量
/usr/libexec/flannel/mk-docker-opts.sh -i
检查环境变量
cat /run/flannel/subnet.env
FLANNEL_NETWORK=172.100.0.0/16
FLANNEL_SUBNET=172.100.22.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=false
cat /run/docker_opts.env
DOCKER_OPT_BIP="--bip=172.100.22.1/24"
DOCKER_OPT_IPMASQ="--ip-masq=true"
DOCKER_OPT_MTU="--mtu=1472"
将环境变量,添加docker启动参数中
vim /usr/lib/systemd/system/docker.service
EnvironmentFile=/run/docker_opts.env
ExecStart=/usr/bin/dockerd ${DOCKER_OPT_BIP} ${DOCKER_OPT_IPMASQ} ${DOCKER_OPT_MTU}
生效
systemctl daemon-reload
启动
systemctl stop docker
systemctl restart flanneld
systemctl start docker
检查
ip a | grep flannel
ip a | grep docker
检查docker0的IP地址是否在flannel网络中
测试
在任意两个不同节点启动一个容器
在10.2.1.11启动容器
在10.2.1.12启动容器
在10.2.1.11启动的容器中,ping 172.100.35.2