ubuntu 16.04 下安装kubernetes 1.6 之flannel网络模型
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,1 准备环境确保在集群环境中安装了etcd,在各node中安装了docker2 安装flannel2.1 flannel节点IP地址段分配flannel依赖etcd分配不冲突的集群IP,首先在etcd
千家信息网最后更新 2025年02月06日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安全错误
数据库的锁怎样保障安全
当兵的有做软件开发的吗
闵行区进口软件开发厂家直销
树莓派个人网站服务器
staem连接服务器遇到问题
重庆物流软件开发怎样收费
写字楼内部网络安全
四川服务器虚拟化系统
2020年全球网络安全形势
网络安全实行日
产业技术体系数据库
软件开发所需要的图标
软件开发从事前端还是后端
服务器没显卡为什么能接显示器
网络技术教育的优缺点
海思 服务器
浏览国外网站代理服务器
服务器安全狗怎么换账号
was服务器是什么
常见的软件开发过程的模型
安徽pdu服务器电源价位
衡水进销存软件开发哪家便宜
华为服务器不能使用u盘重装
智慧农业物联网网络技术
网络安全大赛官方
ssr搭建服务器加速软件
浦东新区综合软件开发执行标准
上位机软件开发 平台
全球十大网络安全企业奇安信
创业风险官方数据库
魔兽世界tbc碧空之歌服务器