金融行业Kubernetes内网部署Calico CNI实战指南
1. 项目背景与需求分析去年在给某金融机构做私有云改造时遇到了一个典型的企业内网Kubernetes部署场景1个管理节点2个工作节点需要部署Calico作为CNI插件。这个看似简单的需求在实际操作中遇到了不少坑今天就把完整实施过程记录下来。为什么选择Calico在金融行业这种对网络性能和安全有严格要求的场景下Calico的纯三层网络方案相比Overlay网络有明显优势没有封包解包的性能损耗支持NetworkPolicy实现微隔离而且排查问题时路由信息清晰可见。客户环境是完全离线的内网所有镜像都需要提前下载好这对Calico的部署提出了额外挑战。2. 环境准备与前置条件2.1 硬件资源配置我们使用了3台物理服务器管理节点32核CPU/128GB内存/2块万兆网卡工作节点16核CPU/64GB内存/2块万兆网卡注意Calico对网络性能敏感建议至少使用千兆网卡万兆更佳。我们遇到过因为网卡性能不足导致的Pod间通信延迟问题。2.2 操作系统配置所有节点统一使用CentOS 7.9进行了以下基础配置关闭swapswapoff -a并注释/etc/fstab中的swap行设置SELinux为permissive模式加载必要的内核模块modprobe br_netfilter echo br_netfilter /etc/modules-load.d/br_netfilter.conf配置内核参数cat /etc/sysctl.d/k8s.conf EOF net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 net.ipv4.ip_forward 1 EOF sysctl --system3. Kubernetes集群部署3.1 使用kubeadm初始化集群在内网环境下我们需要先搭建本地镜像仓库。这里使用Harbor作为私有仓库# 在管理节点上 docker pull registry:2 docker run -d -p 5000:5000 --restartalways --name registry registry:2然后导入必要的Kubernetes镜像版本1.23.5# 将提前下载好的镜像包导入 docker load -i kube-apiserver.tar docker load -i kube-controller-manager.tar # ...其他组件镜像同理 # 重新打tag推送到本地仓库 docker tag k8s.gcr.io/kube-apiserver:v1.23.5 localhost:5000/kube-apiserver:v1.23.5 docker push localhost:5000/kube-apiserver:v1.23.5初始化管理节点kubeadm init \ --image-repositorylocalhost:5000 \ --kubernetes-versionv1.23.5 \ --pod-network-cidr192.168.0.0/16 \ --service-cidr10.96.0.0/123.2 工作节点加入集群在工作节点上执行管理节点初始化完成后输出的join命令kubeadm join 10.10.1.100:6443 --token xxxx \ --discovery-token-ca-cert-hash sha256:xxxx常见问题如果join时报错connection refused检查防火墙是否放行了6443端口。我们在生产环境遇到过因为iptables规则冲突导致节点无法加入的情况。4. Calico网络插件部署4.1 离线安装准备由于是内网环境需要提前下载Calico的manifest文件和镜像# 在外网机器上 curl https://docs.projectcalico.org/manifests/calico.yaml -O docker pull calico/node:v3.21.4 docker pull calico/cni:v3.21.4 docker pull calico/kube-controllers:v3.21.4 # 导出镜像并传输到内网 docker save -o calico-node.tar calico/node:v3.21.4 # ...其他镜像同理在内网环境中导入镜像并推送到本地仓库docker load -i calico-node.tar docker tag calico/node:v3.21.4 localhost:5000/calico-node:v3.21.4 docker push localhost:5000/calico-node:v3.21.44.2 修改部署文件编辑calico.yaml主要修改以下几处修改镜像地址image: localhost:5000/calico/node:v3.21.4配置IP池与kubeadm的--pod-network-cidr保持一致- name: CALICO_IPV4POOL_CIDR value: 192.168.0.0/16根据实际网卡修改IP自动检测方式- name: IP_AUTODETECTION_METHOD value: interfaceeth.*4.3 部署Calicokubectl apply -f calico.yaml验证部署状态kubectl get pods -n kube-system # 应该看到calico-node-xxx和calico-kube-controllers-xxx都Running kubectl get nodes # 所有节点状态应为Ready5. 网络策略配置实战5.1 基础策略隔离命名空间创建一个拒绝所有入口流量的策略apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny-ingress namespace: production spec: podSelector: {} policyTypes: - Ingress5.2 微服务间访问控制允许frontend服务访问backend服务apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-frontend-to-backend spec: podSelector: matchLabels: app: backend policyTypes: - Ingress ingress: - from: - podSelector: matchLabels: app: frontend ports: - protocol: TCP port: 80806. 故障排查与性能优化6.1 常见问题排查Pod无法分配IPkubectl describe pod pod-name # 查看Events部分是否有IP分配失败信息 # 检查calico-node日志 kubectl logs -n kube-system calico-node-xxxx节点间网络不通# 在Pod内测试 kubectl exec -it pod-name -- ping other-pod-ip # 检查路由表 ip route show6.2 性能调优参数在calico.yaml中添加以下环境变量env: - name: FELIX_IPTABLESREFRESHINTERVAL value: 60s - name: FELIX_IPV6SUPPORT value: false - name: CALICO_STARTUP_LOGLEVEL value: info7. 生产环境经验总结镜像同步技巧使用skopeo工具可以更高效地同步镜像建立内部镜像仓库的定期同步机制网络规划建议Pod CIDR不要与现有物理网络重叠预留足够的IP空间每个节点默认分配/26子网监控配置# 启用Calico的Typha组件以提升大规模集群性能 kubectl scale deployment -n kube-system calico-typha --replicas3升级注意事项先在一个工作节点测试新版本Calico保留旧版本manifest文件以便回滚

相关新闻

NX二次开发-编辑NX自带的命令

NX二次开发-编辑NX自带的命令

适用版本:NX 所有版本一、概述Menuscript 是NX定义菜单的ASCII脚本,可以使用这个脚本编辑NX菜单,并以无缝集成的方式为自己的应用程序创建自定义菜单;也可以编辑替换NX自带现有的功能命令。二、功能说明本文以编辑“打开 ”命令来…

2026/8/11 18:55:50 阅读更多 →
2026年哪个GEO营销系统效果最好?从概念认知到决策落地

2026年哪个GEO营销系统效果最好?从概念认知到决策落地

一、基础认知:重新理解GEO的核心逻辑1.1 什么是GEOGEO,全称为Generative Engine Optimization,即生成式引擎优化。它指的是面向AI搜索、智能问答和大模型生成结果的优化方法,核心目标是提升品牌信息在AI生成答案中的引用概率与呈现…

2026/8/11 18:55:50 阅读更多 →
DxWrapper实战指南:Windows 10/11经典游戏5步高效兼容性解决方案

DxWrapper实战指南:Windows 10/11经典游戏5步高效兼容性解决方案

DxWrapper实战指南:Windows 10/11经典游戏5步高效兼容性解决方案 【免费下载链接】dxwrapper Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .a…

2026/8/11 18:55:50 阅读更多 →

最新新闻

ECJ22111-AFD782单键三段PWM调光芯片低压照明方案

ECJ22111-AFD782单键三段PWM调光芯片低压照明方案

在低压LED照明产品开发中,小夜灯、护眼台灯、补光灯、便携露营灯等设备普遍存在开发周期短、成本低、体积小、低功耗的设计需求。传统MCU调光方案开发成本高、外围电路复杂,而通用调光芯片又普遍存在功能固化、功耗偏高的问题。本文为大家介绍一款高性价…

2026/8/11 19:45:07 阅读更多 →
无参优化器:利用CST和Tosca进行形状优化之波导

无参优化器:利用CST和Tosca进行形状优化之波导

作者 | Ma Bin 经常使用CST内置优化器的读者可能在CST2023版本中就已经发现,我们增加了一个Non-Parametric Optimizer,即无参数优化器。但是一般情况下它都是默认置灰状态,只有当选定特定的求解器和算法之后它才可以被选择。 本篇文章就给大…

2026/8/11 19:45:07 阅读更多 →
在Visual Studio 2022中集成MinGW:实现GCC编译与GDB调试

在Visual Studio 2022中集成MinGW:实现GCC编译与GDB调试

1. 项目概述:为什么要在VS2022里用MinGW?如果你是一个C/C开发者,尤其是从Linux或跨平台开发环境转过来的,第一次打开Visual Studio 2022(以下简称VS2022)时,可能会有点不习惯。微软自家的MSVC编…

2026/8/11 19:45:07 阅读更多 →
如何用QKeyMapper实现游戏手柄到键盘鼠标的终极映射:Windows免费按键映射工具完全指南

如何用QKeyMapper实现游戏手柄到键盘鼠标的终极映射:Windows免费按键映射工具完全指南

如何用QKeyMapper实现游戏手柄到键盘鼠标的终极映射:Windows免费按键映射工具完全指南 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持…

2026/8/11 19:45:07 阅读更多 →
网盘直链下载助手终极指南:9大平台文件直链智能解析的完整解决方案

网盘直链下载助手终极指南:9大平台文件直链智能解析的完整解决方案

网盘直链下载助手终极指南:9大平台文件直链智能解析的完整解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动…

2026/8/11 19:44:07 阅读更多 →
使用大模型MCP采集数据,爬虫已经无门槛

使用大模型MCP采集数据,爬虫已经无门槛

我发现大模型让很多工作变得超级简单,但很多人并没有感知到。 比如说传统的爬虫采集,以前可能需要写python requests、scrapy脚本,还得去解析html文本,技术门槛不低,而且巨浪费时间。 但现在有了MCP、SKILL、CLI&…

2026/8/11 19:44:07 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/11 17:09:45 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/11 17:09:45 阅读更多 →