kubenetes 集群二进制安装之flannel网络组件配置 – 21运维
通知: .-...

kubenetes 集群二进制安装之flannel网络组件配置

K8S 21运维 16707浏览

flannel,是一个网络组件,可以为不同node节点的分配不同的子网,实现容器间的跨机通信,从而实现整个kubenets层级通信。 由此可知,该组件运行于node节点上,依赖组件为etcd,docker
目前kubenetes最为常用的网络组件flannel比较多,其他组件尤其是阿里云自研的不在记录范围之内,该flannel安装部署简单。这里以yum方式进行安装。
1,安装flannel

yum  install  flannel  -y

2,修改配置文件
/etc/sysconfig/flanneld编辑后内容如下

FLANNEL_ETCD_ENDPOINTS="https://10.1.14.23:2379,https://10.1.14.24:2379,https://10.1.14.22:2379"
FLANNEL_ETCD_PREFIX="/21yunwei/network"
FLANNEL_OPTIONS="-etcd-cafile=/etc/kubernetes/ssl/ca.pem -etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem -etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem"

说明:
FLANNEL_ETCD_ENDPOINTS填写etcd集群信息,FLANNEL_ETCD_PREFIX填写之前我们设置好的网段信息,FLANNEL_OPTIONS额外参数填写证书和私钥路径,因为etcd我们采用了tls痛加密传输认证。

3,修改flanneld.service服务脚本
编辑/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 \
  -etcd-endpoints=${FLANNEL_ETCD_ENDPOINTS} \
  -etcd-prefix=${FLANNEL_ETCD_PREFIX} \
  $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

该服务器脚本主要是增加了etcd集群配置信息和etcd配置的网段信息。
另外脚本也有提示flannel这个服务需要etcd先启动,再启动flannel,后启动docker,否则会导致获取的ip段有问题,会导致pod间相互不通信。
4,启动flannel

systemctl daemon-reload  &&  systemctl   enable  flanneld  && systemctl   start  flanneld

查看启动情况:

[root@node01 ~]# ps aux | grep flannel
root      6517  2.1  0.8 385900 32028 ?        Ssl  07:34   0:00 /usr/bin/flanneld -etcd-endpoints=https://10.1.14.23:2379,https://10.1.14.24:2379,https://10.1.14.22:2379 -etcd-prefix=/21yunwei/network -etcd-endpoints=https://10.1.14.23:2379,https://10.1.14.24:2379,https://10.1.14.22:2379 -etcd-prefix=/21yunwei/network -etcd-cafile=/etc/kubernetes/ssl/ca.pem -etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem -etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem

转载请注明:21运维 » kubenetes 集群二进制安装之flannel网络组件配置