栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Kubernetes集群二进制部署flannel

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kubernetes集群二进制部署flannel

一、版本信息
名称版本
kubernetes1.22.5
etcd3.5.2
docker19.03.8
flannel0.14.0
cni0.8.6

CNI:容器网络接口(Container NetWork Interface)。CNI最初是由CoreOS为rkt容器引擎创建的,目前绝大部分的容器平台都采用CNI标准,已经成为事实标准。(Docker并没有采用CNI标准,而是CNM标准,即Container NetWork Model)

前提条件:通过二进制的方式,部署一个Kubernetes集群,集群部署完成(节点都加入集群,但都是NotReady状态),具体部署方式可参考之前的部署文章。

二、安装CNI

在kubelet官方配置文档中,关于cni的配置一共有三项:

  • --cni-bin-dir string Default: /opt/cni/bin
  • --cni-cache-dir string Default: /var/lib/cni/cache
  • --cni-conf-dir string Default: /etc/cni/net.d

从上面的配置可以看出,我们需要把CNI及其配置文件放知道特定的目录下,或者自己指定不同的目录,并配置到kubelet的启动参数中。本文采用默认配置,则不需要修改kubelet的启动参数配置。

# 1、下载cni
wget https://github.com//containernetworking/plugins/releases/download/v0.8.6/cni-plugins-linux-amd64-v0.8.6.tgz

# 2、解压缩到指定目录(kubernetes默认的cni安装路径是/opt/cni/bin,所以需要将cni解压缩到此目录)
mkdir /opt/cni/bin -p
tar xf cni-plugins-linux-amd64-v0.8.6.tgz -C /opt/cni/bin/

# 3、将此目录复制到其余节点
for i in node01 node02;do scp -r /opt/cni/ $i:/opt/;done

# 4、配置cni
cat > /etc/cni/net.d/10-flannel.conflist < 
三、安装flannel 
# 1、下载flannel
wget https://github.com/flannel-io/flannel/releases/download/v0.14.0/flannel-v0.14.0-linux-amd64.tar.gz

# 2、解压缩并把二进制flanneld放到指定位置
tar zvxf flannel-v0.17.0-linux-amd64.tar.gz
mv flanneld /usr/local/bin/

# 3、把二进制flanneld复制到其余节点
for i in node01 node02;do scp /usr/local/bin/flanneld $i:/usr/local/bin/;done

# 4、配置flannel
mkdir /etc/kube-flannel/
cat > /etc/kube-flannel/net-conf.json < 
四、配置flannel的kube-config 

通过kube-config使得flannel可以访问kubernetes集群

# 1、为flannel创建service account并初始化集群角色
cat <.secrets[0].name} | xargs kubectl get secret -n kube-system  -o jsonpath={.data.token} | base64 -d)

kubectl config set-context kubernetes 
--kubeconfig=flannel.conf 
--user=flannel 
--cluster=kubernetes

kubectl config use-context kubernetes 
--kubeconfig=flannel.conf

# 3、将该证书复制到其余节点
for i in node01 node02;do scp -r /opt/flannel/ $i:/opt/;done
五、通过systemd管理flannel并启动
# 1、生成systemd管理flannel的文件
cat > /usr/lib/systemd/system/flanneld.service < 

此时查看节点状态,发现节点已经是Ready状态,证明flannel安装成功。通过此次安装,可以了解到这种设计的思想,即通过服务接口加grpc访问的方式,实现不同网络插件和kubernetes的解耦,达到了网络插件的可插拔目标。这种思想kubernetes同样使用在了cri(容器运行时接口),后续会再了解cri的相关实现。

参考文章连接:https://soulchild.cn/2509.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号