6 flanneld部署(在node节点上)
6.1 下载或上传cni安装包
cni网络插件:https://github.com/containernetworking/plugins/releases/download/v0.8.6/cni-plugins-linux-amd64-v0.8.6.tgz
flannel插件:
wget https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz
tar -zxvf flannel-v0.10.0-linux-amd64.tar.gz
mv flanneld /usr/bin/
mv mk-docker-opts.sh /usr/bin/
##在master节点上执行
/usr/bin/etcdctl --ca-file=/etc/etcd/ssl/ca.pem --cert-file=/etc/etcd/ssl/server.pem --key-file=/etc/etcd/ssl/server-key.pem --endpoints=“https://172.16.0.104:2379,https://172.16.0.105:2379” set /coreos.com/network/config ‘{ “Network”: “172.17.0.0/16”, “Backend”: {“Type”: “vxlan”}}’
##vi flanneld.conf
FLANNEL_OPTIONS="–etcd-endpoints=https://172.16.0.104:2379,https://172.16.0.105:2379 -etcd-cafile=/etc/etcd/ssl/ca.pem -etcd-certfile=/etc/etcd/ssl/server.pem -etcd-keyfile=/etc/etcd/ssl/server-key.pem"
##创建flanneld.service服务
vi /usr/lib/systemd/system/flanneld.service
[Unit]
Description=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service
[Service]
Type=notify
EnvironmentFile=/data/kubernetes/cfg/flanneld.conf
ExecStart=/usr/bin/flanneld --ip-masq $FLANNEL_OPTIONS
ExecStartPost=/usr/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure
[Install]
WantedBy=multi-user.target
##修改docker文件
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS
#重启docker和启动flanneld
systemctl start flanneld
systemctl daemon-reload
systemctl restart docker
systemctl enable flanneld
##检查是否启动和重启成功
systemctl status flanneld
systemctl status docker
##检查docker和flanneld是否在同一网段下
ip addr
/usr/bin/etcdctl --ca-file=/etc/etcd/ssl/ca.pem --cert-file=/etc/etcd/ssl/server.pem --key-file=/etc/etcd/ssl/server-key.pem --endpoints=“https://172.16.0.104:2379,https://172.16.0.105:2379” get /coreos.com/network/subnets/172.17.95.0-24
{“PublicIP”:“172.16.0.103”,“BackendType”:“vxlan”,“BackendData”:{“VtepMAC”:“66💿cf:f8:68:3c”}}
##状态为NotReady,是由于没有插件cni,修改kubelet.conf配置文件去掉相关配置参数,重启服务即可
–network-plugin=cni
[root@k8s-master data]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
binary-node Ready 4h30m v1.13.1
binary-node1 Ready 4h24m v1.13.1
参考文档:
##k8s集群安装
https://www.cnblogs.com/xulan0922/p/14583596.html
##flanneld网络配置
https://blog.csdn.net/sinat_31854967/article/details/105812416