ubuntu 16.04 下安装kubernetes 1.6 之flannel网络模型
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1 准备环境确保在集群环境中安装了etcd,在各node中安装了docker2 安装flannel2.1 flannel节点IP地址段分配flannel依赖etcd分配不冲突的集群IP,首先在etcd
千家信息网最后更新 2026年11月01日ubuntu 16.04 下安装kubernetes 1.6 之flannel网络模型
2.1 flannel节点IP地址段分配
flannel依赖etcd分配不冲突的集群IP,首先在etcd上设置flannel节点使用的IP地址段,本文的etcd节点的ip为192.168.100.20
etcdctl --endpoints "http://192.168.100.20:2379" set /coreos.com/network/config '{"NetWork":"172.17.0.0/16","SubnetMin":"172.17.0.0","SubnetMax":"172.17.20.0","Backend":{"Type":"vxlan"}}'
wget https://github.com/coreos/flannel/releases/download/v0.9.0/flannel-v0.9.0-linux-amd64.tar.gz
解压并将解压出的flanneld,mk-docker-opts.sh复制到/usr/local/bin下
cp flanneld,mk-docker-opts.sh /usr/local/bin
[Unit]
Description=Flanneld
Documentation=https://github.com/coreos/flannel
After=network.target
Before=docker.service
[Service]
ExecStart=/usr/local/bin/flanneld --etcd-endpoints=http://192.168.100.20:2379 --iface=enp0s3 --ip-masq=true
Restart=on-failure
Type=notify
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
启动flannel服务
systemctl start flanneld.service
flannel服务启动时主要做了以下几步的工作:
- 从etcd中获取network的配置信息。
- 划分subnet,并在etcd中进行注册。
- 将子网信息记录到/run/flannel/subnet.env中
cat /run/flannel/subnet.env
FLANNEL_NETWORK=172.17.0.0/16
FLANNEL_SUBNET=172.17.2.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
root@wangpei-VM:~# sh /usr/local/bin/mk-docker-opts.sh -d /run/docker_opts.env -c
root@wangpei-VM:~# cat /run/docker_opts.env
DOCKER_OPTS=" --bip=172.17.2.1/24 --ip-masq=false --mtu=1450"
将这条语句写入 /etc/default/docker,作为docker启动的环境变量
cat /etc/default/docker |grep DOCKER_OPTS
DOCKER_OPTS=" --bip=172.17.2.1/24 --ip-masq=false --mtu=1450"
docker中的启动参数
root@192:~# awk '!/#/{if($0!="")print}' /lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket firewalld.service flanneld.service
Requires=docker.socket
[Service]
Type=notify
EnvironmentFile=-/etc/default/docker
ExecStartPre=/usr/local/bin/mk-docker-opts.sh -d /run/docker_opts.env -c
EnvironmentFile=-/run/docker_opts.env
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
加载配置,启动docker
root@wangpei-VM:~# systemctl daemon-reload
root@wangpei-VM:~# systemctl restart docker
1 准备环境
确保在集群环境中安装了etcd,在各node中安装了docker2 安装flannel
2.1 flannel节点IP地址段分配
flannel依赖etcd分配不冲突的集群IP,首先在etcd上设置flannel节点使用的IP地址段,本文的etcd节点的ip为192.168.100.20etcdctl --endpoints "http://192.168.100.20:2379" set /coreos.com/network/config '{"NetWork":"172.17.0.0/16","SubnetMin":"172.17.0.0","SubnetMax":"172.17.20.0","Backend":{"Type":"vxlan"}}'
2.2 minion节点安装flannel
下载flannel软件包wget https://github.com/coreos/flannel/releases/download/v0.9.0/flannel-v0.9.0-linux-amd64.tar.gz
解压并将解压出的flanneld,mk-docker-opts.sh复制到/usr/local/bin下
cp flanneld,mk-docker-opts.sh /usr/local/bin
2.3 创建flannel的systemd服务
cat /lib/systemd/system/flanneld.service[Unit]
Description=Flanneld
Documentation=https://github.com/coreos/flannel
After=network.target
Before=docker.service
[Service]
ExecStart=/usr/local/bin/flanneld --etcd-endpoints=http://192.168.100.20:2379 --iface=enp0s3 --ip-masq=true
Restart=on-failure
Type=notify
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
启动flannel服务
systemctl start flanneld.service
flannel服务启动时主要做了以下几步的工作:
- 从etcd中获取network的配置信息。
- 划分subnet,并在etcd中进行注册。
- 将子网信息记录到/run/flannel/subnet.env中
cat /run/flannel/subnet.env
FLANNEL_NETWORK=172.17.0.0/16
FLANNEL_SUBNET=172.17.2.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
3 配置docker启动参数
使用flannel提供的脚本将subnet.env转写成Docker启动参数,创建好的启动参数位于/run/docker_opts.env文件中root@wangpei-VM:~# sh /usr/local/bin/mk-docker-opts.sh -d /run/docker_opts.env -c
root@wangpei-VM:~# cat /run/docker_opts.env
DOCKER_OPTS=" --bip=172.17.2.1/24 --ip-masq=false --mtu=1450"
将这条语句写入 /etc/default/docker,作为docker启动的环境变量
cat /etc/default/docker |grep DOCKER_OPTS
DOCKER_OPTS=" --bip=172.17.2.1/24 --ip-masq=false --mtu=1450"
docker中的启动参数
root@192:~# awk '!/#/{if($0!="")print}' /lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket firewalld.service flanneld.service
Requires=docker.socket
[Service]
Type=notify
EnvironmentFile=-/etc/default/docker
ExecStartPre=/usr/local/bin/mk-docker-opts.sh -d /run/docker_opts.env -c
EnvironmentFile=-/run/docker_opts.env
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
加载配置,启动docker
root@wangpei-VM:~# systemctl daemon-reload
root@wangpei-VM:~# systemctl restart docker
参数
节点
环境
服务
配置
信息
地址
集群
中安
分配
变量
文件
脚本
语句
软件
软件包
子网
并将
建好
冲突
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技
喔噻互联网科技有限公司
广州大一互联网络科技有限公司
互联网科技有限公司图片
美国互联网科技
互联网科技公司官网
天下捷融互联网科技
华脉科技工业互联网产品
中国最先进互联网科技公司
互联网汽车科技小镇
青岛中康互联网医疗科技有限公司
互联网科技扶贫时间
广西互联网科技孵化中心
青海科技产业互联网发展
华夏恒生科技与互联网科技
长沙互联网科技
烟台灵鸽互联网科技有限公司
沐思想互联网科技有限公司
数字互联网科技有限公司
青岛互联网科技园
深圳科技互联网
善班互联网科技
互联网养老 桔豆科技
天扬科技互联网广告
互联网校园科技培训
高科技互联网发展前景如何
西安有哪些互联网高科技企业
马化腾互联网科技教学
互联网科技大佬云集
河南商务圈互联网科技有限公司