12.pdf

  • 文件大小: 1019.36KB
  • 文件类型: pdf
  • 上传日期: 2025-10-22
  • 下载次数: 0

概要信息:

从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
从Docker到Kubernetes 第12周 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
法律声明 
【声明】本视频和幻灯片为炼数成金网络课程的教学资料
,所有资料只能在课程内使用,不得在课程以外范围散
播,违者将可能被追究法律和经济责任。 
课程详情访问炼数成金培训网站 
http://edu.dataguru.cn 
 
 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
第十二课kubernetes 网络方案 
• 可选的几种网络方案 
• Flannel网络方案 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
可选的几种网络方案 openvswitch 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
可选的几种网络方案 openvswitch 
是一种主流的虚拟化大二层技术 
灵活 
对现有物理网络没要求 
业界主流 
软件封装导致性能低 
复杂度比较高 
Trouble Shooting难 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
可选的几种网络方案 路由技术 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
可选的几种网络方案 路由技术 
一种结合了Linux路由功能的“正统”网络技术 
常规路由技术 
使用传统网络技术 
简单 
高性能 与现有网络融为一体 
灵活性低 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
可选的几种网络方案 新设计的Flannel 
结合了路由机制与隧道技术 
设计巧妙 
使用简单 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Flannel网络方案详解 
原始数据是在起始节点的
Flannel服务上进行UDP封装
的,投递到目的节点后就被
另一端的Flannel服务还原成
了原始的数据包,两边的
Docker服务都感觉不到这个
过程的存在。 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Flannel网络方案详解 
怎么确保每个Node上的Dockers引擎用不同的IP地址段,这个事情看起来很诡异,但真相十分简单。其实只是
单纯的因为Flannel通过Etcd分配了每个节点可用的IP地址段后,偷偷的修改了Docker的启动参数,见下图。 
这个IP范围是由Flannel自动分配的,由Flannel通过保存在Etcd服务中的记录确保它们不会重复。 
用Etcd存储子网拓扑与路由表 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Flannel网络方案详解 
需要在每台Node上都安装flannel。flannel软件的下载地址为
https://github.com/ coreos/ flannel/releases。将下载的压缩包
flannel--linux-amd64.tar.gz解压,把二进制文件
flanneld和mk-docker-opts.sh复制到/usr/bin(或其他PATH环境变
量中的目录),即可完成对flannel的安装。 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Flannel网络方案详解 
[Unit] 
Description=Flanneld overlay address etcd agent 
After=network.target 
Before=docker.service 
[Service] 
Type=notify 
EnvironmentFile=/etc/sysconfig/flanneld 
EnvironmentFile=-/etc/sysconfig/docker-network 
ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} $FLANNEL_OPTIONS 
[Install] 
RequiredBy=docker.service 
WantedBy=multi-user.target 
编辑配置文件/etc/sysconfig/flanneld,设置etcd的URL地址(Master上安装的etcd节点地址) 
使用systemd系统为例对flanneld服务进行配置。 
编辑服务配置文件/usr/lib/systemd/system/flanneld.service: 
FLANNEL_ETCD="http://192.168.1.128:4001" 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Flannel网络方案详解 
在启动flannel之前,需要在etcd中添加一条网络配置记录,这个配置将用于
flannel分配给每个Docker的虚拟IP地址段。 
# etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }' 
由于flannel将覆盖docker0网桥,所以如果Docker服务已启动,则停止
Docker服务,然后systemctl restart flanneld 
 
在每个节点上执行: 
 
sudo mk-docker-opts.sh -i 
source /run/flannel/subnet.env 
sudo rm /var/run/docker.pid 
sudo ifconfig docker0 ${FLANNEL_SUBNET} 
 
重启动一次Docker,这样配置就完成了。 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
总结 
Flannel很新颖很不错 
实际在可控的网络里,路由的方案则性能
最好,适合生产用,配合Quagga 来做到
自动路由更新 
DATAGURU专业数据分析网站 
FAQ时间

缩略图:

  • 缩略图1
  • 缩略图2
  • 缩略图3
  • 缩略图4
  • 缩略图5
当前页面二维码

广告: