部署Flannel网络

部署Flannel网络

部署flannel网络需要执行以下步骤:

1)写入分配的子网段到etcd,供flanneld使用
2)下载二进制包
3)配置Flannel
4)systemd管理Flannel
5)配置Docker启动指定子网段
6)启动

第一步:下载flannel二进制包

wget https://github.com/coreos/flannel/releases/download/v0.9.1/flannel-v0.9.1-linux-amd64.tar.gz

第二步:解压flannel二进制包并且复制到其他节点

//解压二进制文件
tar -zxvf flannel-v0.9.1-linux-amd64.tar.gz
//将可执行文件flanneld mk-docker-opts.sh复制发送到其他节点
scp flanneld mk-docker-opts.sh  [email protected]:/opt/kubernetes/bin/

第三步:写入分配的子网段到etcd,供flanneld使用

/opt/kubernetes/bin/etcdctl --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem --endpoints="https://172.16.163.131:2379,https://172.16.163.130:2379,https://172.16.163.129:2379" set /coreos.com/network/config '{ "Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'

第四步:编写flanneld配置文件

NNEL_OPTIONS="--etcd-endpoints=https://172.16.163.131:2379,https://172.16.163.130:2379,https://172.16.163.129:2379 -etcd-cafile=/opt/kubernetes/ssl/ca.pem -etcd-certfile=/opt/kubernetes/ssl/server.pem -etcd-keyfile=/opt/kubernetes/ssl/server-key.pem"

第五步:编写flanneld.service配置文件

[Unit]
Description=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service

[Service]
Type=notify
EnvironmentFile=/opt/kubernetes/cfg/flanneld
ExecStart=/opt/kubernetes/bin/flanneld --ip-masq $FLANNEL_OPTIONS
ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure

[Install]
WantedBy=multi-user.target

第六步:docker.service配置文件

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=/run/flannel/subnet.env
ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

以上配置好了之后,需要将flanneld配置文件,flanneld.service文件,docker.service文件,复制到其他节点。

第七步:启动服务

systemctl daemon-reload
systemctl start flanneld
systemctl enable flanneld
systemctl restart docker

最后配置结果截图

原文地址:https://www.cnblogs.com/jasonboren/p/11483926.html

时间: 2024-11-09 00:09:55

部署Flannel网络的相关文章

kubernetes容器集群部署Flannel网络

Overlay Network:覆盖网络,在基础网络上叠加的一种虚拟网络技术模式,该网络中的主机通过虚拟链路连接起来. VXLAN:将源数据包封装到UDP中,并使用基础网络的IP/MAC作为外层报文头进行封装,然后在以太网上传输,到达目的地后由隧道端点解封并将数据发送给目的地址. Fannel:Overlay网络的一种,也是将源数据包封装在另一种网络包里面进行路由转发和通信,目前已经支持UDP.VXLAN.AWS VPC和GCE路由等数据转发方式. 多主机容器网络通信其他主流方案:隧道方案(We

k8s部署flannel网络

1 yum安装flannel包: yum install flannel -y 2 编辑配置文件 vim /etc/sysconfig/flanneld FLANNEL_ETCD_ENDPOINTS="http://192.168.233.130:2379" FLANNEL_ETCD_PREFIX="/coreos.com/network" #FLANNEL_OPTIONS="" 3 flannel网络依赖etcd存储,启动flanneld服务前

Flannel网络组件部署

在部署K8S之前,需要在集群服务器上部署CNI容器网络组件,从而实现集群的网络互联互通.目前可选的组件比较多,例如flannel.calico.weave等,各容器网络组件对比可参考文档:http://dockone.io/article/2599 本文介绍flannel网络组件的部署,配置环境在完成前文etcd集群和tls认证配置后.一.生成flannel证书文件 # mkdir flanneld # cd flanneld # cat flanneld-csr.json { "CN"

Kubernetes Flannel网络部署

之前的博客已经介绍了部署一个简单的Kubernetes集群,但是这个集群环境没有一个合理的网络配置.在实际生产中要实现集群中各个组件的通信,就需要使用第三方提供的网络插件. Flannel 二进制安装 1.下载fannel组件 wget https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz 2.安装Flannel 网络组件 tar xf flannel-v0.1

Flannel网络部署

一.Flannel网络部署 为Flannel生成证书 [[email protected] ssl]# vim flanneld-csr.json { "CN": "flanneld", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C":

docker flannel网络部署和路由走向分析

1.flannel介绍 flannel是coreos开发的容器网络解决方案.flannel为每个host分配一个subnet,容器从此subnet中分配ip.这些ip可以在host间路由,容器间无需nat和port mapping就可以跨主机通讯. 每个subnet都是从一个更大的ip池中划分的,flannel会在每个主机上运行一个叫flanneld得agent,其职责是从ip池中分配subnet.为了在各个主机间共享信息,flannel用etcd存放网络配置,已分配的subnet,host的i

kubernetes之Flannel网络插件部署

Kubernetes系统上Pod网络的实现依赖于第三方插件,而Flannel是由CoreOS主推的目前比较主流的容器网络解决方案,CNI插件有两种功能:网络配置和网络策略,由于flannel比较简单,并不支持网络策略,flannel项目自身只是一个框架,真正提供网络功能的是它的后端实现,目前,Flannel支持三种不同后端实现,分别是: UDP VXLAN host-gw UDP是Flannel项目最早支持的一种方式,是性能最差的方式,目前已被废弃. 用的最多的是VXLAN和host-gw模式的

部署Flannel,实现跨主机Docker容器通信

flannel(flannel is a virtual network that attaches IP addresses to containers) 两个主机下的Docker容器之间是不互通的,通过部署flannel,对docker容器的ip进行规划,就能实现跨主机容器之间的通信. 官方文档:https://coreos.com/flannel/docs/latest/flannel-config.html 以下介绍Flannel的部署 机器配置如下 hostname ip 系统版本 e

二进制搭建kubernetes多master集群【二、配置flannel网络】

上一篇我们已经搭建etcd高可用集群,参考:二进制搭建kubernetes多master集群[一.使用TLS证书搭建etcd集群] 此文将搭建flannel网络,目的使跨主机的docker能够互相通信,也是保障kubernetes集群的网络基础和保障,下面正式开始配置. 一.部署 Flannel 在所有集群节点都安装Flannel,下面的操作以etcd集群的三个节点为例都执行一遍 1.下载安装Flannel wget https://github.com/coreos/flannel/relea