1、CNI网络插件最主要的功能就是实现POD资源能够跨宿主机是进行能信

#test-nodes1主机无法ping通test-nodes2主机的pod容器

[root@test-nodes1 ~]# kubectl get pods -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

nginx-ds1-qg45q 1/1 Running 0 2d12h 172.7.22.3 test-nodes2.cedarhd.com

nginx-ds1-whnmv 1/1 Running 0 2d12h 172.7.21.3 test-nodes1.cedarhd.com

[root@test-nodes1 ~]# ping 172.7.22.3

PING 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.env

FLANNEL_NETWORK=172.7.0.0/16

FLANNEL_SUBNET=172.7.21.1/24 #每个nodes的子网不一样需修改,test-nodes1为21,而test-nodes2为22

FLANNEL_MTU=1500

FLANNEL_IPMASQ=false

flannel]# 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 program

redirect_stderr=true ; redirect proc stderr to stdout (default false)

stdout_logfile=/data/logs/flanneld/flanneld.stdout.log ; stderr log path, NONE for none; default AUTO

stdout_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 update

flanneld-7-21: added process group

[root@test-nodes1 flannel]# supervisorctl status

etcd-server-7-21 RUNNING pid 14828, uptime 2 days, 14:55:02

flanneld-7-21 RUNNING pid 26991, uptime 0:00:48

kube-apiserver-7-21 RUNNING pid 14810, uptime 2 days, 14:56:17

kube-controller-manager-7-21 RUNNING pid 14868, uptime 2 days, 14:46:46

kube-kubelet-7-21 RUNNING pid 15095, uptime 2 days, 13:46:15

kube-proxy-7-21 RUNNING pid 22013, uptime 2 days, 13:05:18

kube-scheduler-7-21 RUNNING pid 25120, uptime 2 days, 12:53:29

三、flannel 工作原理

1、host-gw模型,两台运算节点在同一个网段,当flannel启动时会为两台运算节点增加相应的路由表,此时两台运算节点的POD就能互相通信,而flannel退出也不会影响,因为路由表已添加到宿主机。

2、VxLAN模型,两台运算节点在不同的网段

cni k8s 插件安装_K8S 之 Flannel网络插件安装相关推荐

  1. Kubernetes 笔记(06)— 搭建多节点集群、kubeadm 安装 master/worker/console/flannel 网络插件

    1. kubeadm 官网:https://kubernetes.io/zh-cn/docs/reference/setup-tools/kubeadm/ 为了简化 Kubernetes 的部署工作, ...

  2. kubernetes使用flannel网络插件服务状态显示CrashLoopBackOff

    使用Kubeadm安装K8s集群,在安装flannel网络插件后,发现pod: kube-flannel-ds 一直是CrashLoopBackOff 报错内容如下: log is DEPRECATE ...

  3. flannel网络的安装和删除

    文章目录 前言 1. 安装flannel网络 2. 删除flannel网络 2.1 删除pod 2.2 删除node节点上残留网络 前言 1)k8s的部署,见以下两篇文档 <k8s1.20搭建抛 ...

  4. mysql php7安装配置_centos7无网络下安装部署php7.1.33+mysql5.7.28+apache2.4.6-Go语言中文社区...

    centos7无网络下安装部署php7.1.33+mysql5.7.28+apache2.4.6 一. 1.先ping www.baidu.com,root账户下,如果未联网,创建目录,把提前下载好的 ...

  5. Kubernetes网络插件flannel和calico

    网络插件flannel 跨主机通信的一个解决方案是Flannel,由CoreOS推出,支持3种实现:UDP.VXLAN.host-gw udp模式:使用设备flannel.0进行封包解包,不是内核原生 ...

  6. cni k8s 插件安装_第一次,如此清晰脱俗的直解K8S网络

    图片出自:<你女儿也能看懂的插画版 Kubernetes 指南> K8S 网络设计原则 K8S 网络设计原则如下: 每个 Pod 都拥有一个独立 IP 地址,Pod 内所有容器共享该 IP ...

  7. K8s NetworkPolicy与网络插件flannel、calico详细版

    Pod是Kubernetes调度的最小单元.一个Pod可以包含一个或多个容器,因此它可以被看作是内部容器的逻辑宿主机.Pod的设计理念是为了支持多个容器在一个Pod中共享网络和文件系统.那么为什么Po ...

  8. 非全研究生计算机网络-k8s网络插件(CNI)性能分析

    由于计算机网络课程需要,看了一些k8s网络机制,随翻译了一篇论文,说实话有点空洞. 作者: Youngki Park School of Electronic Engineering Soongsil ...

  9. k8s安装网络插件镜像下载不了问题

    下面是本人在帮好友安装k8s过程中在安装网络插件这里碰到的问题 使用kubectl apply -f kube-flannel.yml安装flannel网络插件 安装完之后是要等个一阵子的,但是等了十 ...

最新文章

  1. Dynamics Ax 2012 – AIF Import CSV File
  2. Java并发工具类(闭锁CountDownLatch)
  3. hdu2846 字典树(带id的)
  4. 面向对象的C语言开发框架:Nesty
  5. 从X86向X64迁移的一点心得
  6. 非极大值抑制_【计算机视觉——RCNN目标检测系列】三、IoU与非极大抑制
  7. mysql安装下载的缓存文件_mysql的安装
  8. 外卖行业现状分析_我国外卖行业发展现状与趋势一览
  9. 妙用Python集合求解啤酒问题(携程2016笔试题)
  10. API接口测试用例设计
  11. web前端面试题总结
  12. 通俗理解核方法(kernel function)
  13. 暴力破解之NTscan
  14. 达梦disql中“pagesize”的设置
  15. Visual Studio 2022安装时Visual Studio Installer稍等片刻...正在提取文件 进度条不动 0B每秒-已解决
  16. 用python画圆锥_echarts 怎么画椭圆或者画圆锥
  17. java atm程序设计_Java ATM机操作界面程序哦
  18. 2018/12/22 JSJ_JC_03
  19. vs2019安装 assis x
  20. 关于使用JWT我的一些建议及避坑指南(非必须建议别用)

热门文章

  1. Hadoop 04_Hadoop2.0
  2. 面试必会系列 - 1.3 Java 多线程
  3. 【MySQL】主从复制架构方案 - 笔记
  4. 【Java数据库】CLOB BLOB 在数据库中存入/取出大量文本数据、二进制文件(图片)
  5. Python基础之:Python中的异常和错误
  6. java安全编码指南之:文件和共享目录的安全性
  7. JDK12的新特性:teeing collectors
  8. Spring5参考指南:IOC容器
  9. Raft算法的Leader选举和日志复制过程
  10. 数据结构——排序算法(含动态图片)