二进制部署k8s集群(8):安装容器网络插件Flannel

kubectl只开放了容器网络定义,未做容器网络实现,需要安装第三方的容器网络插件(CNI插件),容器网络市场占有率最高的是Flannel,其次是Calico,本篇使用Flannel容器网络插件。

【前期做准备,下载Flannel安装包】:

Flannel下载地址:https://github.com/coreos/flannel/releases/ 

最新版是Flannel-v.0.12.0

解压安装包,建立Flannel软连接

将下载后的安装包 flannel-v0.12.0-linux-amd64.tar.gz 解压到所有kubenetes工作节点下的【/opt/flannel-v.0.12.0】目录。

mkdir -p /opt/flannel-v.0.12.0
tar xvf /tools/k8s/flannel-v0.12.0-linux-amd64.tar.gz -C /opt/flannel-v.0.12.0/
ln -s /opt/flannel-v.0.12.0/ /opt/flannel

  

拷贝ca证书及client证书到flannel安装目录

将【kube管理节点1】上创建的三个证书文件【ca.pem、client.pem、client-key.pem】拷贝到所有工作节点的【/opt/flannel-v.0.12.0/certs】目录

mkdir /opt/flannel-v.0.12.0/certs
scp 192.168.0.102:/opt/certs/ca.pem /opt/flannel-v.0.12.0/certs
scp 192.168.0.102:/opt/certs/client.pem /opt/flannel-v.0.12.0/certs
scp 192.168.0.102:/opt/certs/client-key.pem /opt/flannel-v.0.12.0/certs
创建启动文件

【创建环境文件】

vi /opt/flannel-v.0.12.0/subnet.env

FLANNEL_NETWORK=172.17.0.0/16
FLANNEL_SUBNET=172.17.106.1/24
FLANNEL_MTU=1500
FLANNEL_IPMASQ=FALSE

【创建flanneld.sh启动文件

如果etcd使用http协议(无证书)的情况,使用下面这样配置

vi /opt/flannel/flanneld.sh

#!/bin/sh
 ./flanneld \
  --public-ip=192.168.0.106 \
  --etcd-endpoints=http://192.168.0.102:2379,http://192.168.0.103:2379,http://192.168.0.104:2379 \
  --iface=ens33 \
  --subnet-file=./subnet.env \
  --healthz-port=2401

--iface=ens33 是网卡名,根据实际网卡名填写

如果etcd使用https协议(有证书)的情况,使用下面这样配置

vi /opt/flannel/flanneld.sh

#!/bin/sh
 ./flanneld \
  --public-ip=192.168.0.106 \
  --etcd-endpoints=https://192.168.0.102:2379,https://192.168.0.103:2379,https://192.168.0.104:2379 \
  --etcd-keyfile=./certs/client-key.pem \
  --etcd-certfile=./certs/client.pem \
  --etcd-cafile=./certs/ca.pem \
  --iface=ens33 \
  --subnet-file=./subnet.env \
  --healthz-port=2401

--iface=ens33 是网卡名,根据实际网卡名填写

猜你喜欢

转载自www.cnblogs.com/yyee/p/13381605.html