×
新网 > 虚机资讯 > 正文

ubuntu 16.04 下安装kubernetes 1.6 之flannel网络模型

  • 作者:zccc
  • 来源:网络
  • 2020-08-11 09:02:20

云计算 1 准备环境 确保在集群环境中安装了etcd,在各node中安装了docker 2 安装flannel 2.1 flannel节点IP地址段分配 flanne

云计算 1  准备环境 确保在集群环境中安装了etcd,在各node中安装了docker
2 安装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}}\'
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

新网虚拟主机

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading