24. Kernel 4.19环境下,Cilium网络仍然需要使用iptables
在设计这套容器集群服务时,我从原来的k3s架构中分离出一个问题,那就是容器网络插件应该选择哪个。因为我设计的目标是给服务器领域使用的容器引擎,所以我就不需要考虑太多边缘IOT设备的情况,直接拉满技能找了cilium。cilium借助内核ebpf技术的出现,让我看到了网络性能更好的选择。
问题:
我一直是自己用k8e来解决需要容器服务的需求,所以没有太在意iptables的能力问题。有一天看到cilium提供了去除kube-proxy的解决方案,我特别高兴的把k8e中自带的kube-proxy代码去掉了。这个太好了。大家知道在kube-proxy时代,SVC的规则是通过不断刷iptables的规则表实现的。因为是clusterip,那么一个业务ip,就需要刷所有主机的iptables规则表。早期100台服务器还可以,老外使用k8s也没有那么大集群。随着中国IaaS厂商的all in,这把k8s的集群规则拉满到上万台,iptables的问题就被暴露出来了。华为云马上提出了使用IPVS技术来解决部分问题:南北向的规则本身就是Proxy机制,使用IPVS可以通配符规则,这样就可以一个网段一个网段的配置,规则数量马上就下来了。几千台机器刷一遍也不成问题。但是这里还是甩不掉kube-proxy来解决东西向网络的DNAT网络的问题,解决方法好办,请使用更高级的SDN overlay网络插件来解决,比如cilium。几千台机器使用flannel是搞不定了。知道吧。但是经过实践发现,我们误解了cilium的能力,在kernel 4.19环境下,我们仍然无法丢掉iptables。好多特性kernel还是搞不定。
注意:
cilium的官方文档默认提示基础网络功能,Kernel >=4.9,但是cilium依据ebpf还提供了
相关文章:
24. Kernel 4.19环境下,Cilium网络仍然需要使用iptables
在设计这套容器集群服务时,我从原来的k3s架构中分离出一个问题,那就是容器网络插件应该选择哪个。因为我设计的目标是给服务器领域使用的容器引擎,所以我就不需要考虑太多边缘IOT设备的情况,直接拉满技能找了cilium。cilium借助内核ebpf技术的出现,让我看到了网络性能更好…...
java中的容器(集合),HashMap底层原理,ArrayList、LinkedList、Vector区别,hashMap加载因子0.75原因
一、java中的容器 集合主要分为Collection和Map两大接口;Collection集合的子接口有List、Set;List集合的实现类有ArrayList底层是数组、LinkedList底层是双向非循环列表、Vector;Set集合的实现类有HashSet、TreeSet;Map集合的实现…...
Linux Server 终止后立即重启报错 bind error: Address already in use
先启动Server,再启动Client,然后使用CtrlC关闭Server,马上再运行Server,会得到以下结果: bind error: Address already in use这是因为,虽然Server的应用程序终止了,但TCP协议层的连接并没有完全…...
【Python 千题 —— 基础篇】分解数据
题目描述 题目描述 编写一个程序,输入一个类似 “233,234,235” 格式的字符串,然后提取字符串中的数字,将这些数字存储在列表中,并输出该列表。在这里,我们使用 eval 函数来解析字符串中的数字。 输入描述 输入一个…...
【C++】C++11新特性之右值引用与移动语义
文章目录 一、左值与左值引用二、右值与右值引用三、 左值引用与右值引用比较四、右值引用使用场景和意义1.左值引用的短板2.移动构造和移动赋值3.STL中右值引用的使用 五、万能引用与完美转发1.万能引用2.完美转发 一、左值与左值引用 在C11之前,我们把数据分为常…...
家庭燃气表微信抄表识别系统
1.背景需求 目前家里燃气度数的读数上报,每个月在社区微信群里面将手机拍摄的燃气表读数截图(加住址信息水印),发到群里给抄表员。 2.总体设计 设计目标 功能一:手机上随时可以远程采集读数图片(自动加住…...
EF执行迁移时提示provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的
ef在执行时提示provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。 只需要在数据库链接字符串后增加EncryptTrue;TrustServerCertificateTrue;即可 再次执行...
视频标注的两个主要方法
视频标注技术 单一图像法 在自动化工具面世之前,视频标注效率不高。各公司使用单一图像法提取视频中的所有帧,然后使用标准图像标注技术将它们作为图像来标注。在30fps的视频中,每分钟有1800帧。这个过程没有利用视频标注的优势,…...
学成在线第一天-项目介绍、项目的搭建、开发流程以及相关面试题
目录 一、项目介绍 二、项目搭建 三、开发流程 四、相关面试题 五、总结 一、项目介绍 背景 业务 技术 背景:首先是整个这个行业的背景 然后基于这个行业的背景引出当前项目的背景 业务:功能模块 功能业务流程 技术:整体架构&am…...
《数据结构与算法之美》读书笔记1
Java的学习 方法参数多态(向上和向下转型) 向上转型: class Text{public static void main(String[] args) {Animals people1 new NiuMa();people1.eat1();//调用继承后公共部分的方法,没重写调用没重写的,重写了调…...
接口测试经验合集
一 、接口测试常见问题 前景提要:由于本人测试小白,可能所遇问题都较为基础,测试小白可以参考 1.1 postman会报 connect ECONNREFUSED jemeter会报 org.apache.http.conn.HttpHostConnectException: Connect tofailed: Connection refus…...
Leetcode—2331.计算布尔二叉树的值【简单】
2023每日刷题(六) Leetcode—2331.计算布尔二叉树的值 递归实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool evaluateTree(struct TreeNod…...
Java面试(基础篇)——解构Java常见的基础面试题 结合Java源码分析
fail-safe 和fail-fast机制 Fail-fast:快速失败 Fail-fast : 表示快速失败,在集合遍历过程中,一旦发现容器中的数据被修改了,会立刻抛出ConcurrentModificationException 异常,从而导致遍历失败 package …...
Ubuntu 17.10的超震撼声音权限
从GNOME GUADEC 2017开发者大会归来之后,Canonical的Didier Roche就开始了一个日更博客系列,主要讲述即将带来的Ubuntu 17.10(Artful Aardvark)发行版将如何从Unity到GNOME Shell的转变。有趣的是,Ubuntu Unity桌面环境…...
图像信号处理板设计原理图:2-基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板
综合图像处理硬件平台包括图像信号处理板2块,视频处理板1块,主控板1块,电源板1块,VPX背板1块。 一、板卡概述 图像信号处理板包括2片TI 多核DSP处理器-TMS320C6678,1片Xilinx FPGA XC7K420T-1FFG1156,1片X…...
【数组】移除元素(暴力遍历×双指针√)
一、力扣题目链接 27.移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 你不需要考虑数组中超出新长度后面的元素。 二、思路 要知道数组的元素在内存地址中是连续的,不…...
【笔试题】华为研发工程师编程题
1.汽水瓶 某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。 小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。 数据范围:输入的正整数满足 1≤n≤100 1≤n≤…...
如何转换Corona和Vray材质?cr材质转vr材质的方法
cr材质转vr材质的方法一:使用CG Magic插件,一键转换 CG Magic是一款基于3ds Max深度开发的智能化辅助插件,上千项实用功能,降低渲染时长,节省时间和精力,大幅简化工作流程,助力高效完成创作。 …...
蓝桥每日一题(day 4: 蓝桥592.门牌制作)--模拟--easy
#include <iostream> using namespace std; int main() {int res 0;for(int i 1; i < 2021; i ){int b i;while(b){if (b % 10 2) res ;b / 10;}}cout << res; return 0; }...
leetcode(2)栈
leetcode 155 最小栈 stack相当于栈,先进后出 存储全部栈元素 [-3,2,-1] min_stack,存储栈当前位置最小的元素 [-3,-3,-3] class MinStack:def __init__(self):self.stack []self.min_stack [math.inf]def push(self, x: int) :self.stack.append(x)self.min_sta…...
从R-CNN到YOLO:初代YOLO论文如何用‘一张图看一次’颠覆了实时目标检测?
从R-CNN到YOLO:实时目标检测的范式革命 在计算机视觉领域,目标检测技术经历了从传统方法到深度学习驱动的跨越式发展。2015年,Joseph Redmon等人提出的YOLO(You Only Look Once)算法彻底改变了这一领域的技术范式&…...
备忘-U盘被只读-ubuntu
一、无法移动文件到U盘,可能原因: 1.U 盘挂载成了只读 这最常见。比如: U 盘本身文件系统有错误 上次没有正常弹出 Linux 为了防止继续损坏,自动把它挂载成只读 这种情况下你能看文件,但不能复制、删除、重命名。 2.当前挂载目录的…...
从理论到实践:GM(1,1)灰色预测模型的MATLAB一站式实现与检验
1. 灰色预测模型入门:当数据不足时的智慧选择 第一次接触灰色预测是在研究生时期,导师扔给我一组只有7个数据点的年度销售记录,要求预测未来两年的趋势。当时我满脑子都是"这怎么可能?"——传统时间序列分析至少需要30个…...
YOLO11从零到部署:VOC数据集处理与模型训练全流程详解
1. YOLO11与VOC数据集入门指南 第一次接触YOLO11和VOC数据集时,我也被各种专业术语搞得晕头转向。现在回想起来,其实它们并没有想象中那么复杂。YOLO11是Ultralytics团队推出的最新目标检测模型,相比前代YOLOv8,它在小目标检测和推…...
终极指南:PerceptualSimilarity在计算机视觉中的10大应用场景
终极指南:PerceptualSimilarity在计算机视觉中的10大应用场景 【免费下载链接】PerceptualSimilarity LPIPS metric. pip install lpips 项目地址: https://gitcode.com/gh_mirrors/pe/PerceptualSimilarity PerceptualSimilarity(LPIPS metric&a…...
Path of Building:流放之路Build规划器的三大创新突破
Path of Building:流放之路Build规划器的三大创新突破 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 在《流放之路》这款以复杂数值系统著称的动作RPG中&…...
实战指南:基于Pytorch与BiSeNet,从零构建无人机遥感图像语义分割数据集训练流程
1. 环境准备与项目初始化 第一次接触无人机遥感图像处理时,我被高分辨率图像中的丰富细节震撼到了。但随之而来的问题是:如何在普通显卡上高效处理这些"庞然大物"?经过多次实践,我总结出一套适合个人开发者的解决方案。…...
测试数据治理趋势:合规与效率平衡
在数字化浪潮席卷各行各业的今天,软件测试已远非仅仅是寻找程序缺陷的活动。它正深度融入产品的全生命周期,而驱动高质量测试的核心燃料——测试数据——其治理水平直接决定了测试的广度、深度与可信度。对于广大软件测试从业者而言,我们正站…...
Spring AI与MCP协议整合实战:架构分析与关键技术
Spring AI与MCP协议整合实战:架构分析与关键技术 引言 随着人工智能技术的快速发展,AI系统与现有通信协议的整合成为提升行业应用的重要手段。Spring AI作为新一代智能平台框架,结合MCP(Minecraft Protocol)协议&#…...
ESP32驱动0.96寸OLED屏,从C51代码移植到ESP-IDF的保姆级避坑指南
ESP32驱动0.96寸OLED屏:从C51到ESP-IDF的完整移植指南 当我们需要在ESP32项目中使用0.96寸OLED显示屏时,往往会遇到一个常见问题:手头只有基于C51单片机的驱动代码(比如淘宝卖家提供的例程),如何将其移植到…...
