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

从Rocky Linux迁移到openEuler:我的K8s集群部署体验与配置差异全记录

从Rocky Linux迁移到openEuler我的K8s集群部署体验与配置差异全记录当企业级用户开始考虑从CentOS/RHEL生态转向国产化操作系统时openEuler往往成为首选。作为一个长期使用Rocky Linux部署Kubernetes集群的运维工程师最近我完成了从Rocky Linux 9到openEuler 22.03 LTS的完整迁移。这次迁移不仅涉及基础系统的变更更需要在K8s部署的每个环节识别差异点并调整配置策略。1. 系统初始化包管理生态的转换openEuler采用DNF作为默认包管理器这与Rocky Linux保持一致但软件源配置和基础组件存在显著差异。在准备K8s基础环境时我记录了以下关键操作对比1.1 软件源配置差异Rocky Linux的标准源替换sed -e s|^mirrorlist|#mirrorlist|g \ -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.aliyun.com/rockylinux|g \ -i.bak /etc/yum.repos.d/rocky*.repoopenEuler的对应操作# 备份原有repo文件 cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak # 使用华为镜像源 sed -i s|repo.openeuler.org|mirrors.huaweicloud.com/openeuler|g /etc/yum.repos.d/openEuler.repo关键发现openEuler默认不提供EPEL仓库支持必须通过openEuler.repo而非分散的仓库文件管理源华为云镜像站提供更稳定的国内下载体验1.2 基础工具链安装在Rocky Linux中安装常用工具dnf install -y vim git net-toolsopenEuler需要额外启用EulerMaker仓库# 启用EulerMaker扩展仓库 yum install -y openeuler-release yum-config-manager --enable EulerMaker # 安装基础工具 dnf install -y vim git net-tools注意openEuler默认安装的工具链版本可能与RHEL系存在差异建议在迁移前通过dnf provides命令确认关键工具的兼容性。2. 容器运行时环境适配2.1 Docker安装路径差异Rocky Linux使用标准Docker CE仓库yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repoopenEuler需要从EulerMaker获取Dockerdnf install -y docker-engine --enablerepoEulerMaker版本对比表组件Rocky Linux 9 默认版本openEuler 22.03 默认版本Docker20.10.x18.09.xcontainerd1.6.x1.4.xrunc1.1.x1.0.x2.2 CRI-Dockerd配置调整由于openEuler的内核特性CRI-Dockerd需要特殊配置# 修改服务文件 vim /usr/lib/systemd/system/cri-docker.service # 关键调整项 ExecStart/usr/bin/cri-dockerd \ --pod-infra-container-imageregistry.aliyuncs.com/google_containers/pause:3.9 \ --network-plugincni \ --cni-conf-dir/etc/cni/net.d \ --cni-bin-dir/opt/cni/bin3. Kubernetes核心组件部署3.1 kubeadm初始化配置openEuler需要特别注意的kubeadm配置差异apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration localAPIEndpoint: advertiseAddress: 192.168.75.144 bindPort: 6443 nodeRegistration: criSocket: unix:///var/run/cri-dockerd.sock kubeletExtraArgs: cgroup-driver: systemd feature-gates: ExecProbeTimeouttrue --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration mode: ipvs关键参数说明必须显式声明feature-gates以启用openEuler内核特性cgroup-driver必须与Docker配置保持一致IPVS模式需要额外内核模块加载3.2 内核模块加载差异Rocky Linux标准模块加载modprobe br_netfilteropenEuler需要额外步骤# 加载必要模块 modprobe br_netfilter modprobe overlay modprobe nf_conntrack # 持久化配置 echo br_netfilter /etc/modules-load.d/k8s.conf echo overlay /etc/modules-load.d/k8s.conf echo nf_conntrack /etc/modules-load.d/k8s.conf4. 网络与安全策略调整4.1 防火墙策略对比Rocky Linux通常直接关闭防火墙systemctl disable --now firewalldopenEuler建议保持firewalld开启但放行必要端口firewall-cmd --permanent --add-port6443/tcp firewall-cmd --permanent --add-port10250/tcp firewall-cmd --permanent --add-port8472/udp firewall-cmd --reload4.2 SELinux策略差异Rocky Linux的典型做法setenforce 0 sed -i s/^SELINUXenforcing/SELINUXpermissive/ /etc/selinux/configopenEuler的推荐配置# 安装必要策略工具 dnf install -y selinux-policy-targeted # 创建自定义K8s策略模块 audit2allow -M k8s_module /var/log/audit/audit.log semodule -i k8s_module.pp5. 性能调优实战记录5.1 内核参数优化对比Rocky Linux标准优化cat /etc/sysctl.d/k8s.conf EOF net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 vm.swappiness 0 EOFopenEuler额外需要# 增加连接跟踪表大小 echo net.netfilter.nf_conntrack_max1000000 /etc/sysctl.d/k8s.conf # 调整虚拟内存参数 echo vm.overcommit_ratio95 /etc/sysctl.d/k8s.conf echo vm.overcommit_memory1 /etc/sysctl.d/k8s.conf5.2 存储性能优化在openEuler上部署Longhorn存储时发现的特别配置# 调整IO调度器 echo mq-deadline /sys/block/sda/queue/scheduler # 优化磁盘预读 blockdev --setra 4096 /dev/sda6. 迁移后的稳定性观察经过两周的生产环境运行记录到以下关键指标对比指标项Rocky Linux集群openEuler集群API平均响应时间128ms142msPod启动延迟2.3s2.8s节点内存开销1.2GB0.9GB内核崩溃次数00经验总结openEuler的内存管理表现出色特别适合内存受限环境网络栈性能需要额外调优建议启用bbr拥塞控制部分K8s特性需要明确启用feature-gates参数

相关文章:

从Rocky Linux迁移到openEuler:我的K8s集群部署体验与配置差异全记录

从Rocky Linux迁移到openEuler:我的K8s集群部署体验与配置差异全记录 当企业级用户开始考虑从CentOS/RHEL生态转向国产化操作系统时,openEuler往往成为首选。作为一个长期使用Rocky Linux部署Kubernetes集群的运维工程师,最近我完成了从Rock…...

黑盒LLM幻觉抑制:10大落地方案全解析

面向API调用黑盒LLM的幻觉抑制落地方案 一、零成本提示工程与推理引导类(仅修改Prompt,直接API调用即可生效) 方案1:Self-Consistency(自一致性投票)- SelfCheckGPT 论文基础信息 标题:SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generativ…...

该项目旨在实现进行行人和车辆检测,车道线分割,详细结果可如下感兴趣的话点“我想要”和我私聊吧~

该项目旨在实现进行行人和车辆检测,车道线分割,详细结果可如下 感兴趣的话点“我想要”和我私聊吧~...

微信聊天记录持久化:基于本地解析技术的个人数据管理方案

微信聊天记录持久化:基于本地解析技术的个人数据管理方案 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…...

开源工具SillyTavern:打造个性化AI交互体验的完整指南

开源工具SillyTavern:打造个性化AI交互体验的完整指南 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 在AI对话应用快速发展的今天,寻找一款既能满足高级用户定制需…...

【数字信号检测】基于迫零算法大规模MIMO低复杂度信号检测附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...

公开信息整理|2026年3月12日:公积金改革、儿童友好建设、存款利率进入“1时代”与科技突破速览

🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...

晶振负载电容与谐振电容的快速计算与选型指南

1. 晶振负载电容的基础概念 第一次接触晶振电路设计时,我也被"负载电容"这个概念绕晕了。简单来说,负载电容就是晶振要正常工作所需要的"外部助力"。想象一下荡秋千,负载电容就像是推秋千的力度——太小了荡不起来&#…...

告别黑窗口:手把手教你用PCL CloudViewer自定义点云可视化背景与颜色

告别黑窗口:手把手教你用PCL CloudViewer自定义点云可视化背景与颜色 第一次打开PCL的CloudViewer时,那个漆黑的窗口总让人感觉少了点什么——无论是学术汇报还是工程调试,默认的黑色背景既不利于突出点云特征,也缺乏专业感。其实…...

云原生应用的可观测性最佳实践

云原生应用的可观测性最佳实践 🔥 硬核开场 各位技术老铁,今天咱们聊聊云原生应用的可观测性最佳实践。别跟我扯那些理论,直接上干货!在云原生时代,可观测性是系统可靠性的关键,它能帮助我们全面了解系统…...

晶体材料属性预测新范式:零基础掌握CGCNN晶体图卷积神经网络全流程

晶体材料属性预测新范式:零基础掌握CGCNN晶体图卷积神经网络全流程 【免费下载链接】cgcnn Crystal graph convolutional neural networks for predicting material properties. 项目地址: https://gitcode.com/gh_mirrors/cg/cgcnn 在材料科学研究中&#x…...

【电路设计实战】BUCK降压电源:从原理到PCB布局的降噪与效率优化

1. BUCK降压电路的核心原理 BUCK降压电路作为开关电源中最基础的拓扑结构之一,其工作原理看似简单却蕴含着精妙的能量转换机制。我第一次接触BUCK电路时,被它高达90%以上的转换效率所震撼 - 这可比传统的线性稳压器强太多了。那么它是如何做到的呢&#…...

前端埋点技术实践:从方案选型到工程落地

前言 在数据驱动的时代,前端埋点是连接产品与用户的桥梁,它不仅是业务决策的数据基础,也是用户行为分析的入口。但对于很多前端开发者来说,埋点常常是一个“不愿面对却又无法逃避”的话题——看起来简单,做起来麻烦&a…...

Go语言的依赖管理:从go mod到go work

Go语言的依赖管理:从go mod到go work 1. 引言 依赖管理是软件开发中不可或缺的一部分,它负责管理项目所依赖的外部库和包。Go语言的依赖管理经历了从GOPATH到Vendor,再到go mod和go work的发展过程。本文将介绍Go语言依赖管理的发展历程&am…...

Kali Linux下7z解压vmdk文件的完整教程(含BUUCTF-Misc题目复现)

Kali Linux下7z解压vmdk文件的完整指南与实战案例 在网络安全竞赛和数字取证工作中,虚拟磁盘文件(如vmdk格式)的处理是常见需求。作为专为安全测试设计的操作系统,Kali Linux内置了强大的7z工具链,能够高效处理各类压缩…...

如何永久保存微信聊天记录并挖掘数据价值?WeChatMsg全攻略

如何永久保存微信聊天记录并挖掘数据价值?WeChatMsg全攻略 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...

边缘计算与云原生集成:构建智能边缘系统

边缘计算与云原生集成:构建智能边缘系统 前言 作为一个在数据深渊里捞了十几年 Bug 的女码农,我深知边缘计算在现代 IT 架构中的重要性。随着物联网设备的爆发式增长和 5G 技术的普及,边缘计算已经成为云计算的重要补充,为实时数据…...

DevOps 实践与自动化:从开发到运维的无缝衔接

DevOps 实践与自动化:从开发到运维的无缝衔接 前言 作为一个在数据深渊里捞了十几年 Bug 的女码农,我深知 DevOps 在现代软件开发中的重要性。DevOps 不仅是一种技术实践,更是一种文化和思维方式,它强调开发和运维团队的紧密协作&…...

安卓跑步打卡项目App源码分享:内含完整源码与简易开发文档

安卓源码,安卓开发,跑步打卡项目app源码,包括源码和简单文档跑步打卡 App 技术白皮书——从传感器到云端轨迹的完整数据链路一、定位:一款“轻量级、端侧优先”的运动健康产品本 App 面向青少年及日常健身人群,在“零账…...

从防御者视角看攻击:我用AntSword复现了一次真实的Webshell入侵,并总结了5条防护建议

从防御者视角拆解Webshell攻击链:基于AntSword的实战防护指南 当服务器日志里突然出现异常的PHP文件访问记录,或是网站目录下凭空多出一个陌生的shell.php时,很多运维团队才意识到防线早已被突破。去年某电商平台的用户数据泄露事件&#xff…...

自定义安卓图标样式:手把手教你用overlay修改framework-res,避开常见坑

深度定制安卓系统图标:Overlay技术实战与避坑指南 在安卓系统的深度定制领域,图标样式的修改一直是开发者们热衷探索的方向。不同于简单的主题更换,通过修改framework-res中的config_icon_mask参数,可以实现系统级图标样式的全局统…...

低压无感BLDC方波控制,代码全部源码,方便调试移植,通用性极高,支持ADC方案,最高电转速1...

低压无感BLDC方波控制,全部源码,方便调试移植! 1.通用性极高,图片中的电机,一套参数即可启动。 2. ADC方案 3.电转速最高12w 4.电感法和普通三段式 5.按键启动和调速 6.开环,速度环,限流环 7.参…...

激光技术在多物理场耦合应用中的案例分析:从增材制造到激光打孔与抛光的研究实例集萃

激关相关的模型,视频增材制造.mph 激光焊接.mph run- 激光熔覆-可行.mph 激光烧蚀.mph 激光熔铸.mph 激光打孔飞溅-较好-原始.mph 激光打孔.mph激光打孔飞溅-较好-原始.mph 案例7-激光打孔榕池(2).mp4 案例7-激光打孔熔池(3).mp4 …...

C#海康视觉VM4.1二次开发框架源码:多流程、运动控制卡、服务框架详解

C#基于海康视觉VM4.1的二次开发框架源码,有多流程框架 运动控制卡 服务框架 需要有海康VM的基础并且有海康威视VM开发狗GVM V2.7 代码功能说明引言本文旨在详细说明GVM V2.7版本软件的核心功能及其实现机制。GVM是一款基于海康威视VM4.1视觉平台进行二次开发的框架软…...

基于MATLAB+CPLEX gurobi平台的电力系统机组组合研究:考虑安全约束与直流潮流优...

MATLAB代码:考虑安全约束及热备用的电力系统机组组合研究 关键词:机组组合 直流潮流 优化调度 参考文档:自编文档,模型数据清晰明了 仿真平台:MATLABCPLEX/gurobi平台 优势:代码具有一定的深度和创新性&a…...

MATLAB语音识别 matlab语音识别,可以识别数字0-9,有gui界面,注释齐全,有报告

MATLAB语音识别 matlab语音识别,可以识别数字0-9,有gui界面,注释齐全,有报告。(本程序测试版本为Matlab 2019b,低于此版本的请安装新版,以免无法运行) 链接为电子资料,一…...

手把手教你用Vivado IBERT给光模块‘体检’:从SFP连接器到误码率报告的完整实战

光模块性能诊断实战:Vivado IBERT从硬件连接到眼图分析的深度解析 当一块全新的ZCU102开发板和一个状态未知的SFP光模块摆在面前时,硬件工程师最关心的问题往往是:这条物理链路到底靠不靠谱?信号质量能否满足设计要求?…...

2025届必备的十大AI辅助写作平台解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 现在处于主流地位的AI论文平台数量众多且种类繁杂,这里包含着:DeepSe…...

2026届必备的AI科研平台实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当前学术写作场景中,AI辅助平台已广泛应用。因经过综合评估,所以以下…...

别再让预制体‘撞衫’了!用MaterialPropertyBlock给每个Unity实例穿上‘定制皮肤’

别再让预制体‘撞衫’了!用MaterialPropertyBlock给每个Unity实例穿上‘定制皮肤’ 在游戏开发中,预制体(Prefab)是提高效率的利器,但当我们需要为大量相同预制体创建不同外观时,传统方法往往面临性能与灵活…...