36. Kubernetes 网络原理——CNI 网络插件

news2024/11/17 3:35:40

本章讲解知识点

    1. Flannel 原理概述
    1. 直接路由的原理和部署示例
    1. Calico 插件原理概述


1. Flannel 原理概述

Flannel 是一个用于容器网络的开源解决方案,它使用了虚拟网络接口技术(如 VXLAN)和 etcd 存储来提供网络服务。它的原理概述如下:

  1. Flannel 协助 Kubernetes,给每一个 Node 上的 Dockers 容器都分配互不冲突的 IP 地址。
  2. 它能在这些 IP 之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络,将数据包原封不动地传递到目标容器内。

在这里插入图片描述

那么一条网络报文是怎么从一个容器发送到另外一个容器的呢?

  1. 容器直接使用目标容器的 ip 访问,默认通过容器内部的 eth0 发送出去。报文通过 veth pair 被发送到 vethXXX。
  2. vethXXX 是直接连接到虚拟交换机 docker0 的,报文通过虚拟 bridge docker0 发送出去。
  3. 查找路由表,外部容器 ip 的报文都会转发到 flannel0 虚拟网卡,这是一个 P2P 的虚拟网卡,然后报文就被转发到监听在另一端的 flanneld。
  4. flanneld

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/497748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

界面交互篇:答题页的答题逻辑交互开发

微信小程序云开发实战-答题积分赛小程序 界面交互篇:答题页的答题逻辑交互开发 前面的那一篇文章,我们已经完成了使用云开发的聚合能力实现从题库中随机抽取题目功能。 在页面加载时,实现从题库中随机抽取题目功能。那么,拿到数据后要干什么?如何做? 动态数据绑定 实…

c++练习题

1、默认参数练习 创建默认参数函数 void stars(int cols ,int rows ) 该函数默认缺省值cols是10 rows是1。该函数完成功能是根据行和列数显示一个由星号组成的矩形。在main函数仲按照默认值调用该函数。按照cols是5调用该函数。按照列数和行数是7,3 调用该函数 #…

【MMdetection训练及使用脚本系列】MMdetection训练1——如何保存最优的checkpoint文件

MMdetection如何保存最优的checkpoint文件 以目标检测为例,进入到 configs/_base_/datasets/coco_detection.py将evaluation dict(interval1, metricbbox)改为evaluation dict(interval1, metricbbox, save_bestauto)即可。 但是不建议这样做,防止以…

软件设计师笔记--数据结构

文章目录 前言学习资料数据结构大 O 表示法时间复杂度线性结构和线性表线性表的顺序存储线性表的链式存储栈的顺序存储栈的链式存储队列的顺序存储与循环队列 串KMP 数组矩阵树二叉树二叉树的顺序存储结构二叉树的链式存储结构二叉树的遍历平衡二叉树二叉排序树最优二叉树(哈夫…

C/C++每日一练(20230507) 数列第n项值I/II、简化路径

目录 1. 求数列的第n项的值 ※ 2. 求数列的第n项的值 II ※ 3. 简化路径 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 求数列的第n项的值 已知数列…

摘要:PostgreSQL开发技术基础:过程与函数

原文地址 6.0 Language SQL与PL/pgSQL PL / PgSQL是基于SQL的特定于PostgreSQL的过程语言 。它有循环,variables,错误/exception处理等等。并不是所有的SQL都是有效的PL / PgSQL,正如你发现的那样,例如,你不能在没有…

Nature:时松海课题组揭示调控大脑新皮层神经元空间精细结构排布和环路组装的新机制

2022年12月7日,清华大学生命科学学院、清华-IDG/麦戈文脑科学研究院、生命科学联合中心、生物结构前沿研究中心时松海教授课题组在Nature杂志以长文的形式在线发表了题为“Patterned cPCDH expression regulates the fine organization of the neocortex”&#xff…

Python心经(2)

有关数字类型,字符串,函数 目录 有关数字类型,字符串,函数 数字 字符串 索引操作 切片操作 单个字符编码 运算符 还有一些常用的内置函数 Python输入函数 输出函数print()语法 python的函数也能给默认值 Python是个脚…

什么是事件驱动的微服务架构?

对于许多关键应用程序功能,包括流媒体和电子商务,单体架构已不再足够。随着实时事件数据和云服务使用的需求增加,许多现代应用程序,如Netflix和Lyft,已经转向了事件驱动的微服务方法。分离的微服务可以独立运行&#x…

体外诊断(IVD)高速发展

体外诊断(IVD)实际一直是临床的重要组成部分。体外诊断,是指通过对人体样本(血液、体液、组织等)进行检测而获取临床诊断信息,进而判断疾病或机体功能的产品和服务,其检测原理和方法涉及免疫学、微生物学、分子生物学等…

Cursor设置中文版 以及简单实用教程集成 GPT4 的代码神器 Cursor

官网:cursor.so 快捷键 ctrl K, 中英文提交需求,(刚开始我整蹩脚的英语,后来发现支持中文) 自动写代码 自动补充代码 自己修改代码 自动检查、完善代码 自己本地测试 然后再重复上面操作直到能用 最后让它…

ZooKeeper知识回顾(分布式协调框架,本质是分布式小文件存储系统,以分布式集群部署)

Apache ZooKeeperhttps://zookeeper.apache.org/官网为: 名字.apache.org 1.zookeep概念 一个团队里面,需要一个leader,leader是干嘛用的? (分布式协调框架) 1.管理什么的咱不说。 2.外面的人,想…

AI大神吴恩达与OpenAI官方合作推出的ChatGPT提示工程课,到底在讲什么?

ChatGPT提示工程课程,吴恩达&OpenAI 概述 本课程将着重介绍指令调优LM的开发最佳实践,以帮助开发人员利用LM技术构建聊天机器人等应用程序。 亮点 📚 LM可用于快速构建软件应用程序,API可以使开发人员非常快速地构建。&#x…

怎么压缩照片到20k?

怎么压缩照片到20k?如今,手机摄影已经成为我们生活的一部分,我们经常使用手机拍照记录美好瞬间。但是,随着手机拍照像素的不断提高,照片的文件大小也越来越大,这使得手机的存储空间不够用,甚至在…

Vue核心 收集表单数据 过滤器

1.14. 收集表单数据 收集表单数据: 若: ,则v-model收集的是value值,用户输入的就是value值。若: ,则v-model收集的是value值,且要给标签配置value值。若: 没有配置input的value属性,那么收集的就是checked(勾选 or 未…

weblogic ssrf 漏洞复现

一.前言 Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。 二.环境搭建 在docker中开启环境 sudo docker-compose up -d sudo docker-compose ps #查看状态访问http://your-ip:7001/uddiexpl…

【C++】虚函数表 多态的原理 动态绑定和静态绑定

梳理虚函数表、多态原理、动静态绑定的知识 目录 一、虚函数表 二、多态的原理 三、动态绑定和静态绑定 一、虚函数表 在学习多态原理之前,我们需要了解一下虚函数表的概念 我们先一起来看下下面这段代码 // 这里常考一道笔试题:sizeof(Base)是多…

Centos7设置yum源

为什么要修改yum源呢? 因为默认的yum源下载速度很慢,所以我们需要修改yum源。我是用的阿里云的yum源 环境 虚拟机:VirtualBox 7.0.4 操作系统:CentOS 7 x86_64 查看默认的yum源 cd /etc/yum.repos.d将列出的所有默认yum源复…

unity愤怒的小鸟学习制作(一)

基础知识已经差不多了,现在开始模仿敲代码然后在模仿中熟悉软件和语法 视频链接和素材如下:视频 目录 第一部分:游戏逻辑1、新建2D工程2、创建三个场景3、导入游戏需要的资源4、开始编辑02-game4.1 裁切图片4.2 初步编辑4.3 实现小鸟的拖拽4…

【源码分析】从源码层面深度剖析Redisson实现分布式锁的原理

快速入门 引入redisson依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.0</version> </dependency>编写测试代码 public class RedissonTest {private static RedissonC…