当前位置: 首页 > article >正文

[K8S小白问题集] - Calico好在哪里?

一、Calico 的核心优势不止于连通Calico 的设计哲学是“用路由而非封装实现连通用策略而非信任保障安全”。它并非简单的 CNI而是一个完整的云原生网络与安全平台。1.1 三层核心能力能力技术实现价值BGP 原生 Underlay每个节点运行 BIRDBGP 守护进程直接向物理网络宣告 Pod CIDR性能接近裸机无 VXLAN 封装开销直接对接专网核心交换机 BGP云网融合细粒度网络策略原生支持 K8s NetworkPolicy并扩展至 GlobalNetworkPolicy集群级、HostEndpoint宿主机级等保 2.0/3.0 东西向微隔离的基石默认拒绝、白名单开放eBPF 数据面可选替换 iptables内核级处理报文支持 L7 可见性、源 IP 保留、DDoS 防护核心交易低延迟、高吞吐Service Mesh Sidecarless 化减少资源占用1.2 架构模式灵活性Calico 支持三种数据面模式可按场景混合使用模式机制适用场景BGP推荐节点通过 BGP 宣告 Pod 路由物理网络直接转发自建机房、专网、裸金属集群性能最优IPIPIP in IP跨子网时封装 IP 头类似轻量 VXLAN跨子网但无 BGP 路由能力的过渡场景VXLAN标准 VXLAN OverlayCalico 实现公有云 VPC 内无 BGP 权限时的备选但性能弱于 BGPeBPF数据面替代 iptables/ipvs内核态直接处理大规模高并发、需要 L7 可观测或 WireGuard 加密的场景关键决策若机房核心交换机支持 BGP或允许节点作为 BGP PeerBGP 模式是首选若上公有云且云厂商限制 BGP则 VXLAN 模式作为过渡但应评估 Cilium 作为替代。二、Calico vs Flannel架构级差异2.1 核心设计哲学对比维度FlannelCalico首要目标连通性让跨节点 Pod 能 ping 通连通 安全 可观测在连通基础上叠加策略与可视化网络模型Overlay 为主VXLAN/UDP虚构 L2Underlay 为主BGP L3尊重物理网络数据面实现内核 VXLAN 模块 静态 FDB/ARPBIRD BGP iptables/ipvs或 eBPF网络策略无。Flannel 本身不实现 NetworkPolicy需配合 CanalFlannelCalico Policy原生完整支持L3-L4 NetworkPolicyeBPF 模式下支持 L7IPAM简单子网分配Host-Local灵活Host-Local、Calico IPAM、集成云厂商 IPAM性能特征VXLAN 封装开销MTU-50用户态无加速BGP 直连接近裸机eBPF 进一步减少 iptables 遍历开销可扩展性瓶颈VXLAN 依赖内核 FDB大规模 ARP/广播可控BGP 通过 Route Reflector 扩展万级节点无压力宿主机连通Pod 访问 Node IP 需额外路由HostEndpoint 原生保护宿主机端口Windows 支持有限官方支持 Windows HNS 集成2.2 数据包路径对比跨节点 Pod 通信Flannel VXLAN 路径Pod A ──► veth ──► cni0 ──► flannel.1(VTEP) ──► VXLAN封装 ──► eth0──► 底层网络 ──► eth0 ──► VXLAN解封装 ──► flannel.1 ──► cni0 ──► Pod B封装点flannel.1 设备路由决策静态路由 静态 ARP FDB策略检查无仅依赖 K8s 原生 iptables kube-proxyCalico BGP 路径Pod A ──► veth ──► 路由表(10.244.2.3 via Node2_IP) ──► eth0──► 底层网络物理路由器已学习Pod CIDR路由──► eth0 ──► 路由表 ──► veth ──► Pod B封装点无同子网或 IPIP/VXLAN跨子网且 BGP 不可达时路由决策BGP 动态宣告物理网络参与路由策略检查Calico Felix 在出/入路径插入 iptables/eBPF 规则执行 NetworkPolicy2.3 关键差异场景FlannelCalico影响等保东西向隔离需额外引入 CanalFlannelCalico Policy架构复杂原生支持Pod 级、Namespace 级、全局策略一键下发Flannel 方案增加组件故障面专网对接VXLAN 与专网独立需 NAT 或双层路由BGP 直接宣告 Pod CIDR 到核心交换机专网原生可达Calico 网络架构与现有网络团队技能匹配裸金属数据库访问Pod 访问裸金属需额外路由打通HostEndpoint 将裸金属端口纳入策略统一微隔离核心账务数据库安全策略统一管理大规模集群500节点VXLAN ARP/FDB 表项膨胀排查困难BGP RR 收敛路由表清晰故障域可控大集群长期演进可观测审计仅能看到节点级流量Pod 级黑洞Flow 日志、策略命中日志、BGP 状态全可视等保审计要求三、Calico 可观测与监控管理Calico 原生设计了多维度可观测接口这是 Flannel 完全缺失的能力。3.1 指标体系PrometheusCalico 各组件暴露/metrics端点组件指标前缀关键指标告警Felix节点代理felix_*felix_iptables_rules_count规则数膨胀、felix_int_local_endpoint_poll_time_seconds接口轮询延迟、felix_active_local_endpoints本节点端点数规则数突增 20%可能遭遇策略注入攻击或配置漂移BIRDBGP 守护bird_*bird_protocol_up{protodirect1}BGP 邻居状态、bird_routes_imported导入路由数BGP 邻居 Down 2min跨节点 Pod 路由黑洞Typha集中式缓存大集群typha_*typha_connections_activeapiserver 连接数、typha_snapshots_generated快照生成速率大集群500 节点必须部署 Typha否则 Felix 直接压垮 apiserverCNI 插件cni_*cni_add_ops_totalCNI ADD 次数、cni_add_latency_secondsCNI ADD 延迟 5sPod 启动阻塞影响交易扩容ServiceMonitor 配置apiVersion: monitoring.coreos.com/v1kind: ServiceMonitormetadata:name: calico-monitoringnamespace: monitoringspec:selector:matchLabels:k8s-app: calico-nodeendpoints:- port: metricsinterval: 15spath: /metricsnamespaceSelector:matchNames:- kube-system3.2 日志与审计日志源采集方式用途Felix 日志DaemonSet 标准输出 → Vector/Loki策略拒绝事件、接口异常、路由表变更BIRD 日志节点本地/var/log/calico/bird/current→ 宿主机日志采集BGP 邻居震荡、路由宣告异常Policy AuditGlobalNetworkPolicy开启doNotTrackapplyOnForwardlogaction等保审计记录被策略拒绝的连接五元组汇入 SIEM策略审计示例apiVersion: projectcalico.org/v3kind: GlobalNetworkPolicymetadata:name: audit-deny-cross-departmentspec:selector: all()types:- Ingress- Egressingress:- action: Log # 先记录- action: Deny # 再拒绝source:selector: department ! sameegress:- action: Log- action: Denydestination:selector: department ! same日志输出[AUDIT] DROP src10.244.1.5 dst10.244.2.3 protoTCP sport5432 dport3306 policyaudit-deny-cross-department3.3 诊断工具链calicoctl运维必须掌握的排查工具命令作用场景calicoctl node status查看本节点 BGP 邻居状态、路由导入数跨节点 Pod 不通先查 BGPcalicoctl get wep --all-namespaces列出所有 WorkloadEndpointPod 网络接口确认 Pod 是否被 Calico 正确接入calicoctl get ippool查看 IP 池分配IP 耗尽排查calicoctl get policy查看生效的网络策略策略误拦截排查calicoctl get profile查看默认命名空间隔离规则默认拒绝策略来源排查calicoctl ipam checkIPAM 一致性检查孤儿 IP、IP 泄漏修复3.4 Grafana 大盘设计┌─────────────────────────────────────────┐│ Calico 网络健康总览NOC 值班大屏 │├─────────────────────────────────────────┤│ ├── BGP 邻居状态矩阵节点×节点 ││ │ └─ 绿色Established红色Down ││ ├── Pod IP 池利用率按 Pool ││ │ └─ 告警阈值 80% ││ ├── 网络策略命中 Top10 ││ │ └─ 被拒绝流量最多的策略规则 ││ ├── Felix iptables 规则数趋势 ││ │ └─ 突增配置漂移或攻击 ││ ├── 跨节点流量热力图基于 Flow 日志 ││ │ └─ 识别异常横向移动 ││ └── CNI ADD 延迟 P99 ││ └─ 3s 触发节点健康告警 │└─────────────────────────────────────────┘3.5 可观测增强需求实现方式Flow 日志长期留存Calico Flow Aggregator或集成 Cilium Hubble 替代→ Kafka → ClickHouse留存 6 个月策略变更审计calicoctl所有操作通过 K8s Audit Webhook 记录谁、何时、改了哪条策略信创内核适配麒麟/统信内核需确认iptable_raw、ip_set、xt_bpf模块加载eBPF 模式需内核 ≥ 5.10部分信创发行版需升级四、选型决策什么时候选 Calico条件建议模式自建机房/专网/裸金属为主Calico BGPUnderlay 直连性能最优网络团队可运维等保三级以上需东西向微隔离Calico 必选Flannel 无法满足默认拒绝策略混合云阿里云华为云自建Calico VXLAN/IPIP或Cilium跨云 BGP 不可行时Overlay 作为统一抽象大规模集群1000 节点Calico BGP Typha eBPFTypha 减轻 apiserver 压力eBPF 替代 iptables 遍历已深度使用 Istio需 L7 可观测Calico eBPF或CiliumCalico eBPF 支持 L7 策略但 Cilium 的 L7 可观测更成熟关键结论Flannel 是“让容器通起来”的最小可行方案Calico 是“让容器在受控、可视、可审计的状态下通起来”的企业级方案。对大集群而言等保合规、东西向隔离、专网融合、可观测审计四项要求决定了生产环境必须跨越 Flannel走向 Calico 或 Cilium。

相关文章:

[K8S小白问题集] - Calico好在哪里?

一、Calico 的核心优势:不止于连通Calico 的设计哲学是“用路由而非封装实现连通,用策略而非信任保障安全”。它并非简单的 CNI,而是一个完整的云原生网络与安全平台。1.1 三层核心能力能力技术实现价值BGP 原生 Underlay每个节点运行 BIRD&a…...

Mantic.sh:模块化Shell脚本框架,打造高效终端开发工作流

1. 项目概述:一个为开发者量身定制的终端效率工具如果你和我一样,每天有超过一半的工作时间是在终端里度过的,那么你一定对那种在多个项目、不同目录间反复切换,以及手动敲击冗长命令的繁琐感同身受。效率,对于开发者而…...

基于语义搜索与向量数据库的AI工具发现引擎Lyra架构与实践

1. 项目概述与核心价值最近在折腾一个AI驱动的工具发现平台,核心是解决一个很实际的问题:面对市面上成千上万、层出不穷的AI工具和开源项目,我们如何高效地找到真正适合自己需求的那一个?不是简单地罗列清单,而是能理解…...

移动处理器电源管理:AS3722 PMIC的创新与应用

1. 高性能移动处理器电源管理挑战与创新方案 在移动计算设备领域,处理器性能的持续提升带来了前所未有的电源管理挑战。以NVIDIA Tegra K1为代表的多核ARM处理器,集成了四核Cortex-A15 CPU和192个CUDA图形核心,这种高性能配置对供电系统提出了…...

Godot 4动态网格切割:实现实时物理破坏效果

1. 项目概述与核心价值 最近在Godot社区里,一个名为 cloudofoz/godot-smashthemesh 的开源项目引起了我的注意。乍一看这个标题,可能会觉得有些抽象——“粉碎网格”?但当你深入了解后,会发现它精准地解决了一个在3D游戏开发&am…...

【OpenClaw从入门到精通】第81篇:OpenClaw 2026.5.3万字实测详解——视频/音乐生成+Memory Dreaming实战指南

摘要:本文聚焦OpenClaw v2026.4.5至v2026.5.3的核心更新,基于官方文档、开发者社区实测数据,全方位解析视频生成、音乐生成、ComfyUI集成、Memory Dreaming四大核心功能。从升级迁移、环境配置到实战案例,提供可直接复制的代码与操作流程,覆盖API密钥配置、多Provider适配…...

三步实现本地化视频硬字幕提取:免费AI工具轻松生成SRT字幕文件

三步实现本地化视频硬字幕提取:免费AI工具轻松生成SRT字幕文件 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、…...

自建Vaultwarden密码服务器:Docker部署与安全实践指南

1. 项目概述:自建密码管理服务器的核心价值在数字化生活成为常态的今天,我们每个人都被数十甚至上百个账号密码所包围。从工作邮箱到社交媒体,从银行账户到流媒体订阅,管理这些凭证早已超出了人脑的记忆极限。于是,密码…...

android C++版本opencv数值拼接图片+水平拼接图片效果

这是vconcat() 也就是vertical concat效果-----------------------这是hconcat() 也就是horizontal concat()...

终极指南:如何用Python快速构建你的智能金融数据采集系统

终极指南:如何用Python快速构建你的智能金融数据采集系统 【免费下载链接】pywencai 获取同花顺问财数据 项目地址: https://gitcode.com/gh_mirrors/py/pywencai 在金融科技和量化投资的世界里,数据就是你的超能力。但面对分散的数据源、复杂的接…...

Ds18b20数字温度传感器

模拟温度传感器: 热敏电阻,, 输出的电压随着温度变化 将变化的电压值,,转化成数字信号,,, 这就是模拟传感器,,比较复杂,,这个数据只是…...

android C++降低图片亮度 opencv 效果

需要注意的:如果是4通道,那么需要转换成3通道,处理完以后转换回去RGBA格式...

Display-Lock:窗口状态锁定技术原理与C#实战

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目,叫Stateford/Display-Lock。乍一看这个名字,可能有点摸不着头脑,Stateford听起来像个人名或者组织名,Display-Lock直译是“显示锁定”。但当你深入进去,会发现…...

2026在线去水印工具怎么用?免费视频去水印网站和本地水印去除方法推荐

引言 在日常工作和生活中,用户常常需要处理带有水印的视频文件。无论是出于内容二次创作、视频编辑还是个人使用的需求,去除视频水印成为了一个普遍的技术需求。2026年,随着在线视频处理工具的发展,多种去水印解决方案应运而生&am…...

免费图片去水印工具推荐|在线软件怎么选|2026实测最好用的工具榜单

你是否也在找好用的去水印工具? 在日常工作和生活中,我们经常会遇到带有水印的图片资源——来自社交平台的截图、新闻配图、素材库里的图片,甚至是自己的原创作品需要处理。虽然去除水印涉及一些法律和伦理问题,但在处理自有内容、…...

番茄小说下载器完整指南:如何快速搭建个人离线图书馆

番茄小说下载器完整指南:如何快速搭建个人离线图书馆 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否厌倦了每次阅读小说都要依赖网络?是否想要将…...

python在生活中的实际应用

1.Python的简洁语法适合教学编程基础。科研中,NumPy和SciPy用于数值模拟,SymPy进行符号计算,例如推导物理公式或分析实验数据曲线。2.Pygame库允许快速开发2D游戏或交互式应用。教育领域常用Python编写数学模拟程序(如分形生成&am…...

3分钟掌握Ofd2Pdf:轻松解决OFD转PDF的格式兼容难题

3分钟掌握Ofd2Pdf:轻松解决OFD转PDF的格式兼容难题 【免费下载链接】Ofd2Pdf Convert OFD files to PDF files. 项目地址: https://gitcode.com/gh_mirrors/ofd/Ofd2Pdf Ofd2Pdf是一款专为中文用户设计的开源工具,能够高效地将OFD格式文件转换为通…...

终极指南:如何让微信网页版恢复正常访问的完整教程

终极指南:如何让微信网页版恢复正常访问的完整教程 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法登录而烦恼吗&…...

5分钟上手Mermaid图表:无需代码的实时在线编辑器终极指南

5分钟上手Mermaid图表:无需代码的实时在线编辑器终极指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edi…...

ARM PMU性能监控与PMOVSSET_EL0寄存器详解

1. ARM PMU性能监控体系概述在ARMv8/v9架构中,性能监控单元(Performance Monitoring Unit, PMU)是处理器微架构的重要组成部分,它为开发者提供了硬件级别的性能数据采集能力。PMU通过一组可编程的事件计数器和控制寄存器,使系统软件能够精确监…...

3分钟学会使用Unlock Music:浏览器内一键解密你的加密音乐文件

3分钟学会使用Unlock Music:浏览器内一键解密你的加密音乐文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址…...

用GitHub仓库构建个人技能树:结构化、版本化知识管理实践

1. 项目概述:从“技能”仓库到个人知识体系的构建最近在GitHub上看到一个挺有意思的仓库,名字叫Apolinariolanga/skills。乍一看,这名字很直白——“技能”。在技术社区里,以“skills”命名的仓库并不少见,但每一个背后…...

Prompt-Builder:开源提示词工程框架,让AI交互从玄学变科学

1. 项目概述:一个为AI时代量身定制的提示词工程利器如果你和我一样,深度使用过ChatGPT、Claude、Midjourney这类大模型,那你一定有过这样的体验:面对一个复杂任务,你精心构思的提问,换来的却是一个平庸甚至…...

基于LLM的通用信息提取:Extractous库实战指南与应用场景

1. 项目概述:从混乱到有序,Extractous如何重塑信息提取在信息爆炸的时代,我们每天都被海量的非结构化文本包围——新闻文章、产品评论、会议纪要、研究报告、社交媒体动态。作为一名长期和数据打交道的从业者,我深知从这些“文本海…...

AI驱动全栈开发:RapidFireAI如何实现端到端自动化与效率革命

1. 项目概述:当AI遇上“速射”,一个全栈开发者的效率革命最近在GitHub上闲逛,发现一个名字很酷的项目——RapidFireAI/rapidfireai。光看名字,“RapidFire”(速射)加上“AI”,就让人感觉这玩意儿…...

BMO:基于Node.js的无头浏览器管理工具,解决Puppeteer资源泄漏与并发难题

1. 项目概述:一个被低估的浏览器自动化利器如果你经常需要处理网页数据抓取、自动化测试,或者重复性的网页操作任务,那么你大概率听说过或者用过 Puppeteer、Playwright 或者 Selenium。这些工具功能强大,但有时候,它们…...

基于MCP协议实现AI助手调用本地快捷指令的完整指南

1. 项目概述:一个为AI助手“开眼”的桥梁最近在折腾AI工作流的朋友,可能都听说过MCP(Model Context Protocol)这个概念。简单来说,它就像给Claude、Cursor这类AI助手装上了一套“万能遥控器”,让它们能直接…...

数据工程师技能树:从核心原理到实战项目的体系化成长指南

1. 项目概述:一个面向数据工程师的“技能树”仓库最近在GitHub上看到一个挺有意思的仓库,叫AceDataCloud/Skills。光看名字,你可能会觉得这是一个普通的“技能列表”或者“学习路线图”。但点进去仔细研究后,我发现它的定位非常精…...

数据投资回报率金字塔:衡量和最大化数据团队价值的方法

原文:towardsdatascience.com/the-data-roi-pyramid-a-method-for-measuring-maximizing-your-data-team-cab470b98cf6?sourcecollection_archive---------4-----------------------#2024-02-02 难以清晰表达你数据团队的价值?了解如何使用数据投资回报…...