kubernetes安装Flannel以及Flannel的工作原理
发表于:2023-02-02 作者:安全数据网编辑
编辑最后更新 2023年02月02日,本文以用Flannel网络插件为例,为大家分析kubernetes安装Flannel网络插件的方法以及Flannel的工作原理。阅读完整文相信大家对Flannel以及Flannel的工作原理有了一定的
本文以用Flannel网络插件为例,为大家分析kubernetes安装Flannel网络插件的方法以及Flannel的工作原理。阅读完整文相信大家对Flannel以及Flannel的工作原理有了一定的认识。
一、flannel的作用
1、CNI网络插件最主要的功能就是实现POD资源能够跨宿主机是进行能信
#test-nodes1主机无法ping通test-nodes2主机的pod容器[root@test-nodes1 ~]# kubectl get pods -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-ds1-qg45q 1/1 Running 0 2d12h 172.7.22.3 test-nodes2.cedarhd.comnginx-ds1-whnmv 1/1 Running 0 2d12h 172.7.21.3 test-nodes1.cedarhd.com [root@test-nodes1 ~]# ping 172.7.22.3PING 172.7.22.3 (172.7.22.3) 56(84) bytes of data.^C--- 172.7.22.3 ping statistics ---8 packets transmitted, 0 received, 100% packet loss, time 6999ms
二、flannel安装
#此操作分别需要在test-nodes1与test-nodes2上操作[root@test-nodes1 ~]# cd /opt/src/[root@test-nodes1 src]# wget https://github.com/coreos/flannel/releases/download/v0.11.0/flannel-v0.11.0-linux-amd64.tar.gz[root@test-nodes1 src]# mkdir /opt/flannel-v0.11.0[root@test-nodes1 src]# tar xf flannel-v0.11.0-linux-amd64.tar.gz -C /opt/flannel-v0.11.0/[root@test-nodes1 src]# ln -s /opt/flannel-v0.11.0/ /opt/flannel[root@test-nodes1 src]# cd /opt/flannel[root@test-nodes1 flannel]# mkdir cert[root@test-nodes1 flannel]# cd cert/[root@test-nodes1 cert]# scp test-operator:/opt/certs/ca.pem .root@test-operator's password: ca.pem 100% 1346 173.2KB/s 00:00 [root@test-nodes1 cert]# scp test-operator:/opt/certs/client.pem .root@test-operator's password: client.pem 100% 1363 207.0KB/s 00:00 [root@test-nodes1 cert]# scp test-operator:/opt/certs/client-key.pem .root@test-operator's password: client-key.pem [root@test-nodes1 cert]# cd ..flannel]# vi subnet.envFLANNEL_NETWORK=172.7.0.0/16FLANNEL_SUBNET=172.7.21.1/24 #每个nodes的子网不一样需修改,test-nodes1为21,而test-nodes2为22FLANNEL_MTU=1500FLANNEL_IPMASQ=falseflannel]# vi flanneld.sh #!/bin/sh./flanneld \ --public-ip=10.3.153.221 \ #另外一台test-nodes2需要修改 --etcd-endpoints=https://10.3.153.212:2379,https://10.3.153.221:2379,https://10.3.153.222:2379 \ --etcd-keyfile=./cert/client-key.pem \ --etcd-certfile=./cert/client.pem \ --etcd-cafile=./cert/ca.pem \ --iface=ens33 \ --subnet-file=./subnet.env \ --healthz-port=2401[root@test-nodes1 flannel]# cd /opt/etcd# 下面这一步在一步机器上执行即可,只需执行一次[root@test-nodes1 etcd]# ./etcdctl set /coreos.com/network/config '{"Network": "172.7.0.0/16", "Backend": {"Type": "host-gw"}}'{"Network": "172.7.0.0/16", "Backend": {"Type": "host-gw"}}[root@test-nodes1 etcd]# vi /etc/supervisord.d/flannel.ini[program:flanneld-7-21]command=/opt/flannel/flanneld.sh ; the program (relative uses PATH, can take args)numprocs=1 ; number of processes copies to start (def 1)directory=/opt/flannel ; directory to cwd to before exec (def no cwd)autostart=true ; start at supervisord start (default: true)autorestart=true ; retstart at unexpected quit (default: true)startsecs=30 ; number of secs prog must stay running (def. 1)startretries=3 ; max # of serial start failures (default 3)exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)stopsignal=QUIT ; signal used to kill process (default TERM)stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)user=root ; setuid to this UNIX account to run the programredirect_stderr=true ; redirect proc stderr to stdout (default false)stdout_logfile=/data/logs/flanneld/flanneld.stdout.log ; stderr log path, NONE for none; default AUTOstdout_logfile_maxbytes=64MB ; max # logfile bytes b4 rotation (default 50MB)stdout_logfile_backups=4 ; # of stdout logfile backups (default 10)stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)stdout_events_enabled=false ; emit events on stdout writes (default false)[root@test-nodes1 etcd]# supervisorctl updateflanneld-7-21: added process group[root@test-nodes1 flannel]# supervisorctl statusetcd-server-7-21 RUNNING pid 14828, uptime 2 days, 14:55:02flanneld-7-21 RUNNING pid 26991, uptime 0:00:48kube-apiserver-7-21 RUNNING pid 14810, uptime 2 days, 14:56:17kube-controller-manager-7-21 RUNNING pid 14868, uptime 2 days, 14:46:46kube-kubelet-7-21 RUNNING pid 15095, uptime 2 days, 13:46:15kube-proxy-7-21 RUNNING pid 22013, uptime 2 days, 13:05:18kube-scheduler-7-21 RUNNING pid 25120, uptime 2 days, 12:53:29
三、flannel 工作原理
1、host-gw模型,两台运算节点在同一个网段,当flannel启动时会为两台运算节点增加相应的路由表,此时两台运算节点的POD就能互相通信,而flannel退出也不会影响,因为路由表已添加到宿主机。
2、VxLAN模型,两台运算节点在不同的网段
看完上述内容,你们对Flannel以及Flannel的工作原理有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
习近平谈网络安全
腾讯云大学生服务器
智能工厂软件开发工资
网络安全法的目的意义
迅雷离线查询服务器
手机网络服务器不稳定
360卫士服务器版
承德迅迪网络技术服务有限公司
日语软件开发面试问题
计算机网络安全的主要目标
军民融合网络安全饶志宏
战地五突然出现找不到服务器
饥荒联机版自建服务器代码
烽火通信校招软件开发
甘肃超频服务器厂家现货
机械网络技术有哪些
服务器同步出错怎么办
软件开发经营执照
18年思科网络技术大赛
云服务器租赁需要什么
计算机网络技术 物联网方向
网站用什么数据库好
数据库技术 er图
二十一世纪互联网科技网
修改数据库中的一行数据库
服务器脱机打印机啥意思
乐物网络技术有限公司
数据库不能同步更新
策略期货软件开发
除了2b2t还有哪些服务器