K8S单master部署二:Flannel网络部署
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,以下所有操作均在node节点进行Flannel网络概述Flannel通过给每台宿主机分配一个子网的方式为容器提供虚拟网络,它基于Linux TUN/TAP,使用UDP/VXLAN封装IP包来创建ove
千家信息网最后更新 2026年11月02日K8S单master部署二:Flannel网络部署
以下所有操作均在node节点进行
Flannel网络概述
Flannel通过给每台宿主机分配一个子网的方式为容器提供虚拟网络,它基于Linux TUN/TAP,使用UDP/VXLAN封装IP包来创建overlay网络,并借助etcd(也支持kubernetes)维护网络的分配情况。
服务器角色分配
| 角色 | 地址 | 安装组件 |
|---|---|---|
| master | 192.168.142.220 | kube-apiserver kube-controller-manager kube-scheduler etcd |
| node1 | 192.168.142.136 | kubelet kube-proxy docker flannel etcd |
| node2 | 192.168.142.132 | kubelet kube-proxy docker flannel etcd |
Flannel网络部署(所有node节点)
安装docker容器
docker引擎的安装比较简单这里就不多讲解了,直接贴脚本刷即可。
脚本如下:
#!/bin/bash#Docker引擎部署#安装依赖包yum install yum-utils device-mapper-persistent-data lvm2 -y#设置阿里云镜像源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#安装Docker-ceyum install -y docker-ce#关闭防火墙及增强型安全功能systemctl stop firewalld.servicesetenforce 0#启动Docker并设置为开机自启动systemctl start docker.servicesystemctl enable docker.service#镜像加速服务(每个人的阿里加速地址都不同,请自行前往阿里官网获取)tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://123456.mirror.aliyuncs.com"]}EOFsystemctl daemon-reload#网络优化echo "net.ipv4.ip_forward=1" >> /etc/sysctl.confsysctl -pservice network restart systemctl restart docker#检验容器是否启动完成docker imagesif [ $? -eq 0 ];then echo "Docker启动完成"else echo "ERROR" systemctl status docker exit 1fi为flannel网络分配子网段,并注入etcd数据库中
[root@node2 bin]# /opt/etcd/bin/etcdctl --ca-file=/opt/etcd/ssl/ca.pem \--cert-file=/opt/etcd/ssl/server.pem \--key-file=/opt/etcd/ssl/server-key.pem \--endpoints="https://192.168.142.220:2379,https://192.168.142.136:2379,https://192.168.142.132:2379" set /coreos.com/network/config '{"Network":"172.17.0.0/16","Backend":{"Type":"vxlan"}}'解压安装flannel二进制软件包
[root@node2 ~]# tar zxvf flannel-v0.10.0-linux-amd64.tar.gzflanneldmk-docker-opts.shREADME.md//建立工作目录[root@node2 ~]# mkdir -p /opt/kubernetes/{cfg,ssl,bin}//移动至工作目录[root@node2 ~]# mv flanneld mk-docker-opts.sh /opt/kubernetes/bin/更改flannel配置文件
[root@node2 ~]# cat </opt/kubernetes/cfg/flanneld.cfgFLANNEL_OPTIONS="--etcd-endpoints=https://192.168.142.220:2379,https://192.168.142.132:2379,https://192.168.142.136:2379 \-etcd-cafile=/opt/etcd/ssl/ca.pem \-etcd-certfile=/opt/etcd/ssl/server.pem \-etcd-keyfile=/opt/etcd/ssl/server-key.pem EOF 编写启动脚本
[root@node2 ~]# cat </usr/lib/systemd/system/flanneld.service[Unit]Description=Flanneld overlay address etcd agentAfter=network-online.target network.targetBefore=docker.service[Service]Type=notifyEnvironmentFile=/opt/kubernetes/cfg/flanneld.cfgExecStart=/opt/kubernetes/bin/flanneld --ip-masq \$FLANNEL_OPTIONSExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.envRestart=on-failure[Install]WantedBy=multi-user.targetEOF 启动服务
[root@node2 bin]# chmod +x /usr/lib/systemd/system/flanneld.service[root@node2 bin]# systemctl start flanneld.service[root@node2 bin]# systemctl status flanneld.service[root@node2 bin]# systemctl enable flanneld.service这里启动后会生成一个flannel的虚拟网卡

设置docker容器连接上flannel网络
[root@node2 bin]# vim /usr/lib/systemd/system/docker.service[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comBindsTo=containerd.serviceAfter=network-online.target firewalld.service containerd.serviceWants=network-online.targetRequires=docker.socket[Service]Type=notifyEnvironmentFile=/run/flannel/subnet.env //添加这一行ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS(添加该变量,加入flannel网络中) -H fd:// --containerd=/run/containerd/containerd.sockExecReload=/bin/kill -s HUP $MAINPIDTimeoutSec=0RestartSec=2Restart=always检查自身分配的子网段(不是必须的)
[root@node2 bin]# cat /run/flannel/subnet.envDOCKER_OPT_BIP="--bip=172.17.34.1/24" //给docker分配的网关DOCKER_OPT_IPMASQ="--ip-masq=false"DOCKER_OPT_MTU="--mtu=1450"DOCKER_NETWORK_OPTIONS=" --bip=172.17.34.1/24 --ip-masq=false --mtu=1450"重启容器使配置文件生效
[root@node2 bin]# systemctl daemon-reload[root@node2 bin]# systemctl restart docker检查flannel网络互通性
node1→node2
node2→node1

未完待续~~~
网络
容器
分配
脚本
阿里
服务
地址
引擎
文件
目录
网段
节点
角色
镜像
工作
检查
配置
不同
安全
一行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
互联网金融科技
互联网科技公司简介
互联网与科技金融数据
港股互联网科技股
中资互联网科技
科技制造互联网公司
喔噻互联网科技
狮子座互联网科技
善班互联网科技
狮子座互联网科技培训
哈尔滨新华互联网科技
衡水科技产业互联网平台
随着互联网科技发展
湖南一路畅行互联网科技
链环科技传统企业怎么转型互联网
科技赋能视角下互联网保险发展
中科明德北京互联网科技
唯美互联网科技
安徽九吞吴互联网科技有限公司
互联网科技公司
保险科技 互联网保险
互联网最新的科技有限公司
奇酷互联网科技
互联网养老 桔豆科技
江苏南京365互联网科技
栖莱科技互联网股份有限公司
东莞新华互联网科技学校
洛阳共同富裕互联网科技有限公司
互联网金融科技公司的优势