- 博客(355)
- 资源 (39)
- 问答 (1)
- 收藏
- 关注
原创 记录Pod状态脚本
摘要:本文介绍了一个用于监控Kubernetes Pod状态的Bash脚本。该脚本每分钟记录集群中所有Pod的运行状态(包括命名空间、就绪状态、运行时长等关键信息),并自动添加到crontab计划任务中。脚本具有自动检测kubectl可用性、创建日志目录等功能,输出格式统一为"集群|命名空间|Pod名|就绪状态|运行状态|时长|PodIP|节点"。日志保存在/data/pod_info目录,计划任务日志记录在/var/log/pod_status_cron.log中,实现了对K8s集群P
2025-12-09 17:45:36
237
原创 arm架构TDengine时序数据库及应用使用K8S部署
本文介绍了在ARM架构银河麒麟V10操作系统上部署TDengine时序数据库及配套应用程序的Kubernetes方案。针对TDengine 3.3.6.0版本,作者编写了自定义YAML配置,重点解决了taosadapter配置解析panic问题,通过初始化容器预先修复配置文件,并设置了核心端口映射、持久化存储和资源限制。同时提供了应用程序部署配置,采用宿主机网络模式确保DDS通信功能。该方案实现了TDengine在K8s环境下的稳定运行,为时序数据存储和处理提供了可靠支持。
2025-12-08 10:21:25
536
原创 银河麒麟v10yum源
本文介绍了如何为Kylin Linux Advanced Server 10配置yum软件源。通过编辑/etc/yum.repos.d/kylin_aarch64.repo文件,添加三个软件仓库配置:ks10-adv-os(基础系统包)、ks10-adv-updates(更新包)和ks10-adv-addons(附加包)。其中基础包和更新包默认启用,附加包默认禁用。所有仓库均配置了GPG密钥验证,并指定了对应的软件包下载地址。
2025-12-05 16:59:50
241
原创 首发:TDengine3.3.6版本使用K8S部署
本文介绍了在arm64架构银河麒麟v10系统上使用Kubernetes 1.21部署TDengine 3.3.6.0数据库的配置方案。通过YAML文件详细说明了Deployment和Service的配置,重点解决了taosadapter配置解析panic问题,包括使用初始化容器修复配置文件、设置持久化存储、资源限制和健康检查等关键配置。部署完成后,通过检查日志确认服务正常运行。该方案适用于TDengine单机部署场景,为ARM64架构下的Kubernetes环境提供了可行的TDengine部署参考。
2025-12-05 15:54:09
255
原创 昇腾A800 A2 ARM架构的物理机Kubevirt拉起npu直通虚拟机模版
本文提供了一个ARM64架构的Kubevirt虚拟机YAML模板,用于部署带有华为Ascend910 NPU的虚拟机。模板包含8核CPU、48Gi内存(含16Gi CMA内存)配置,支持2块NPU设备透传。关键配置包括:使用DataVolume作为系统盘、UEFI启动、Pod网络连接、DHCP自动获取IP、root用户SSH访问以及CMA内存的GRUB配置。特别强调了NPU驱动需预先安装在系统镜像中,并通过CMA内存配置解决NPU可用性问题。模板采用手动运行策略,可绑定到指定节点部署。
2025-12-05 15:39:22
189
原创 服务压测shell脚本
本文介绍了一个使用Apache Bench (ab)工具进行Ingress压力测试的脚本。该脚本可快速测试HTTP服务的并发处理能力,主要功能包括:自动检查安装ab工具、配置并发数/总请求数等参数、添加必要的Host头信息,并输出关键性能指标(每秒请求数、平均响应时间和失败请求数)。通过修改URL参数,该脚本也可用于测试其他HTTP服务。执行结果会显示详细性能数据,帮助用户评估服务处理能力。
2025-12-02 10:36:51
199
原创 云镜像,虚拟机镜像怎么转换成容器镜像
本文介绍了云镜像与容器镜像的区别及格式转换方法。云镜像(如QCOW2、RAW等)用于虚拟化环境,而容器镜像(OCI格式)用于容器部署。由于格式不兼容,需通过工具将系统镜像转换为容器镜像。具体步骤包括:使用guestfish工具提取系统镜像文件,创建Dockerfile构建容器镜像,最后导入到容器运行时(如containerd)。该方法可实现不同格式镜像的转换,便于在容器环境中使用系统镜像。
2025-11-27 16:19:49
369
原创 arm64环境Ubuntu22.04昇腾物理机Atlas 200I A2安装KVM配置NPU直通的标准环境
安装qemu4.1版本,之所以安装这个版本是已经适配并且通过修改配置之后可以跑直通资源,所以版本最好要一致并且通过源码部署,实际上我后续换成apt安装的高版本也没问题,但是可以的话最好还是用文档的版本。实际iommu的警告不用担心,如果看过我之前发的内容就可以知道其实这个海光arm64的cpu使用的虚拟机叫做summu,开启之后就可以无视这个配置的异常。服务器重启,其实如果机器不允许的情况下直接用也可以,能重启的话重启下最好。编辑文件,直接在#include后面两三行添加复制上就行。关闭AppArmor。
2025-11-25 17:35:16
528
原创 华为昇腾Atlas 800 A2物理服务器开启VT-d模式
VT-d是英特尔的I/O虚拟化技术,通过DMA重映射、中断重映射和设备直通三大功能实现硬件虚拟化。它支持CPU/GPU/NPU直通,提升虚拟机性能并确保安全隔离。配置时需在BIOS中启用SMMU:通过iBMC管理界面进入BIOS设置,在Advanced > MISC Config菜单中将"Smmu Work Around"和"Support Smmu"设为Enabled后保存重启即可。该技术是服务器虚拟化的关键基础。
2025-11-25 11:10:47
500
原创 KVM的ubuntu虚机如何关闭安全启动
第二种进入bios的方法就是正常启动进入到系统中之后执行reboot,然后在启动流程时快速连按ESC和F2进入bios,这样没紧迫感比较容易。UEFI 固件的 Secure Boot(安全启动)—— 它会验证操作系统内核、驱动的数字签名,只有签名合法的软件才能运行。简单说:Secure Boot 是 “安全锁”,而直通需要 “绕过锁” 直接访问物理硬件,所以必须关闭。首先要有个虚机,接着执行启动和连接,两个命令的执行时间间隔要短,时间太长的话就会进不去。我使用的这个镜像进去的是UEFI,流程都是相同的。
2025-11-24 16:22:36
636
原创 arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
不知道怎么搞的物理机重启之后原本正常的命令无法重新创建虚拟机了,报错缺少这个这个文件。输入用户名与密码,成功进入虚机。重新执行创建虚机的命令。找到文件之后下载下来。
2025-11-24 14:16:20
262
原创 机器端口连通性检验脚本
本文介绍了一个用于测试网络端口连通性的Bash脚本。该脚本每秒检测目标IP(10.20.81.2)的22(SSH)端口可用性,使用nc(netcat)命令进行测试,超时设为2秒。脚本包含错误处理、依赖检查(验证nc是否安装)和优雅退出功能,可实时输出带时间戳的测试结果(✅表示可用,❌表示不可用)。适用于监控网络传输中断问题,帮助快速定位SSH服务异常情况。执行效果通过截图展示,直观显示端口状态的动态变化。
2025-11-16 09:26:20
186
原创 ubuntu更改使用期望的内核版本
摘要:本文记录了在Ubuntu KVM虚拟机中降级内核版本的详细流程。首先通过apt search查找目标内核5.15.0-72-generic并安装相关组件,然后创建脚本确定该内核在GRUB菜单中的位置,将获取的配置信息写入/etc/default/grub文件,执行update-grub更新配置,最后重启验证内核版本变更成功。整个过程在虚拟机环境中完成,但同样适用于物理机环境。(149字)
2025-11-07 15:32:08
221
原创 记录kubelet错误:Could not open resolv conf file
摘要: 本文分析了 Kubernetes apiserver 启动失败的根本原因。日志显示系统未能找到 /run/systemd/resolve/resolv.conf 文件,这实际上是由 systemd-resolved 服务未运行导致的。该服务是 Linux 的 DNS 解析核心,负责生成动态 DNS 配置文件。当该服务停止时,Kubernetes 组件(如 kubelet)无法获取正确的 DNS 配置,进而导致核心 Pod 无法启动。通过启动 systemd-resolved 服务后,系统成功生成了所
2025-11-06 16:09:44
461
原创 GRUB内核启动项查找脚本
本文介绍了在Ubuntu 22.04 TLS系统中查看和修改GRUB内核启动项的方法。通过提供的shell脚本可以查找指定内核在GRUB菜单中的位置,脚本会输出两种设置方式:完整的菜单标题路径或数字索引。确认找到目标内核后,需要修改/etc/default/grub文件中的GRUB_DEFAULT参数为指定的路径或索引值,然后执行update-grub命令更新配置并重启系统。文中还展示了脚本执行效果和配置修改的图示说明,帮助用户准确切换到期望的内核版本。
2025-11-06 15:29:02
529
原创 记录次etcd故障,fatal error: bus error
摘要 本文记录了etcd服务在初始化环境时出现"bus error"报错的排查过程。该错误可能由硬件故障、数据文件损坏或架构兼容性问题导致。由于是初始化环境,最终通过删除原有数据并升级etcd版本至v3.4.37解决了问题。升级后服务恢复正常运行,表明旧版本可能存在兼容性问题。文中提供了报错截图和解决方案截图,说明通过版本更新和数据重置可以解决此类启动错误。
2025-11-05 11:20:52
404
原创 记录一次containerd启动报错
摘要 Kubernetes环境下containerd服务启动异常,报错提示"mirrors与config_path配置冲突"。检查发现/etc/containerd/config.toml文件中同时配置了mirrors和config_path路径导致冲突。解决方案是注释掉config_path配置项后重启containerd服务,问题解决。该案例表明容器运行时配置冲突是导致服务启动失败的常见原因之一。
2025-11-04 20:50:00
211
原创 华为A800I A2 arm64架构鲲鹏920cpu的ubuntu22.04 tls配置直通的grub配置
摘要:Ubuntu GRUB配置文件通过添加arm-smmu.enable=1等参数实现ARM架构设备透传,关键配置包括启用SMMU内存管理、IOMMU直通模式及分配128GB大页内存。这些设置确保NPU设备能直接访问物理内存,提升计算性能,并满足大模型训练的内存需求。修改后需执行update-grub更新配置。适用于ARM64架构服务器,是NPU透传至虚拟机的必要条件。
2025-11-04 17:55:21
716
原创 ip网段扫描机器shell脚本
该脚本用于快速扫描192.168.102.0/24网段中的存活设备。采用并行ping检测方式(1秒超时),能高效识别在线IP地址。脚本会实时输出发现的设备IP并记录到临时文件,最终显示扫描结果汇总,包括在线设备总数和IP列表。扫描完成后自动清理临时文件,适用于需要快速检测本地网络设备存活的场景。执行效果直观,会显示"✅"标记发现的在线设备,并在最后提供完整统计信息。
2025-11-03 21:55:07
385
原创 arm架构ubuntu22.04下载源地址
本文提供了为Ubuntu 22.04(arm64)配置清华源的快速方法。首先备份原源文件到/tmp目录,然后使用sudo tee命令写入清华镜像源配置,明确指定arm64架构。包含main、restricted、universe、multiverse四个组件和updates、backports、security三个分支。该配置采用https协议,适用于jammy版本(22.04)的arm64设备。
2025-11-03 17:34:40
336
原创 阿里云镜像个人私库怎么拉取上传
本文介绍了阿里云容器镜像服务的使用要点:1)镜像服务按地域隔离,不同地域需分别登录;2)仓库管理通过命名空间组织,可设置公开/私有属性;3)认证需使用访问凭证中的ID和专用密码;4)镜像命名格式包含地域、仓库和版本信息;5)操作指南包括上传拉取等命令示例。使用该服务时需注意地域隔离特性,每个地域需单独登录操作。
2025-10-30 15:29:16
374
原创 HUAWEI A800I A2 aarch64架构Ubuntu服务器鲲鹏920开启 IOMMU/SMMU 硬件虚拟化功能
本文介绍了在搭载鲲鹏920处理器的华为A800I A2服务器上配置SMMU的方法。针对ARM架构的特殊性,作者通过试错确定了正确的grub文件配置参数,即在GRUB_CMDLINE_LINUX中添加"arm-smmu.enable=1 iommu.passthrough=1 iommu=pt smmu.enable=1"。详细说明了修改grub文件、更新配置并重启的完整步骤,最后通过dmesg命令验证SMMU已成功启用。该配置可帮助在ARM架构服务器上实现IOMMU直通功能。
2025-10-30 11:13:19
501
原创 Kubevirt部署好后系统镜像的dv存储创建
Kubevirt 通过 DataVolume(DV)管理虚拟机磁盘镜像,支持从 HTTP、容器镜像等源导入。DV 创建需指定镜像源、存储请求和卷模式(Block/Filesystem)。示例展示了从 HTTP 服务器下载 ARM64 Ubuntu 云镜像,请求 20Gi 块存储的配置过程。DV 会自动生成 PVC 供虚拟机使用,测试时可查看 DV 状态确认创建成功。DV 是 CDI 项目的核心资源,简化了虚拟机磁盘的导入和管理流程。
2025-10-29 17:58:12
676
原创 kubeovn cni故障修复,报错ovs-ovn日志:create failed (Permission denied)
摘要: Kube-OVN因机器重启后报错无法启动,原因为/var/run/openvswitch目录权限不足。根本原因是/var/run作为临时文件系统(tmpfs)会在重启后重置,导致手动配置的权限丢失;次要原因是Kube-OVN的init容器未持久化权限设置。临时解决方案是执行chmod 755 -R /var/run/openvswitch/并重启相关Pod。需注意该问题会在每次系统重启后复现,需持久化配置解决。 (字数:149)
2025-10-29 16:37:59
293
原创 实战:Flannel为网络CNI底座的K8S接入Cilium CNI
Flannel为网络底座的K8S接入Cilium CNI 本文介绍在已部署Flannel CNI的Kubernetes集群中接入Cilium CNI的方案。通过CNI链式调用技术,保留Flannel的基础网络功能(IP分配、节点连通性),同时叠加Cilium的eBPF高级功能(网络策略、监控等)。关键步骤包括:将Flannel模式改为host-gw(避免VXLAN与eBPF冲突)、Helm定制化部署Cilium(配置chainingMode为flannel)、验证组件协同工作。最终实现Flannel与Cil
2025-10-28 16:07:03
1326
原创 HUAWEI A800I A2 aarch64架构服务器鲲鹏920开启虚拟化功能
摘要 本文介绍了国产虚拟化配置中SMMU功能的开启步骤。SMMU作为硬件层面的内存管理单元,负责I/O设备与系统内存间的地址转换和安全隔离。配置流程包括:通过BMC控制台进入BIOS设置界面,在Advanced > MISC Config路径下依次启用"Smmu Work Around"和"Support Smmu"选项,最后保存设置并重启服务器使配置生效。该配置无需修改grub文件,适用于国产服务器虚拟化环境的初始化设置。
2025-10-16 16:57:08
552
原创 GPU Operator部署后节点Pod一直PodInitializing状态问题处理
研发人员误操作删除了GPU operator命名空间下所有资源,导致服务失效。通过helm重新部署时发现节点已有NVIDIA驱动,与容器化部署冲突。解决步骤包括:卸载节点原有驱动、排查占用GPU的进程、强制卸载驱动模块,最后重新安装GPU operator并验证pod状态恢复正常。整个流程涉及helm命令操作、驱动卸载及资源排查,最终成功恢复服务。
2025-09-29 16:19:03
424
原创 直通GPU在线更改成vfio-pci纳管
本文介绍了一种在线更改GPU配置的方法,避免传统PCI配置需要重启的麻烦。操作步骤包括:1)停止占用GPU的服务和进程;2)卸载NVIDIA驱动模块;3)确认GPU的PCI设备信息;4)将GPU绑定到vfio-pci驱动;5)验证绑定结果。最后还提供了配置开机自动绑定的方法,确保设置持久有效。整个过程通过命令行操作,实现了GPU驱动从NVIDIA到vfio-pci的无缝切换,适用于需要动态调整GPU配置的场景。
2025-09-28 16:48:27
470
原创 NVIDIA显卡程序组件nvidia-persistenced通过systemd管理配置
本文介绍了如何将NVIDIA GPU持久化守护进程(nvidia-persistenced)配置为systemd服务。该服务通过保持GPU内核模块状态和设备文件句柄,可优化GPU应用启动速度和稳定性。文章详细说明了服务作用:减少模块加载开销、维护硬件状态、支持多用户场景。配置步骤包括:检查显卡状态、创建systemd服务文件(/etc/systemd/system/nvidia-persistenced.service)、启动并启用服务。最后提醒即使服务停止,显卡驱动仍可正常工作,只是性能可能受影响。
2025-09-28 16:01:36
458
原创 银河麒麟V10安装NVIDIA显卡驱动
本文记录了在Linux系统安装NVIDIA显卡驱动的完整过程。首先下载对应版本的驱动安装包,安装时遇到"X server运行中"的报错。通过停止图形界面服务、杀死Xorg进程并删除锁定文件解决冲突。继续安装时需处理DKMS注册和32位兼容库选项,并解决libglvnd依赖问题。最终成功安装驱动,可通过nvidia-smi命令验证显卡识别。安装过程涉及系统服务管理、进程操作和依赖包安装等关键步骤。
2025-09-26 17:21:55
2464
原创 K8S部署的ELK分片问题解决,报错:unexpected error while indexing monitoring document
摘要 Elasticsearch集群因磁盘空间不足导致索引进入只读模式,无法写入数据。通过磁盘扩容后,需手动清除index.blocks.read_only_allow_delete限制才能恢复正常。使用Kibana开发工具或API执行PUT _all/_settings命令可解除限制。若修改未生效,可重启Elasticsearch节点。最终验证Kibana日志收集功能恢复正常。该问题展示了存储空间不足时Elasticsearch的自我保护机制及对应的恢复方法。
2025-09-26 10:47:22
433
原创 K8S部署的rook-ceph下线osd流程
本文详细记录了在Ceph集群中下线SSD类型OSD(以osd.0为例)的操作流程,包括设置noup标志、调整权重、监控数据迁移、标记osd状态、修改集群配置等步骤。重点描述了在执行purge命令后osd数量未减少的问题,指出这是由于集群配置更改需要时间生效所导致。作者通过重新执行purge命令解决问题,并强调在修改配置后需要等待足够时间再执行后续操作。整个流程涵盖了从Ceph集群操作到Kubernetes资源清理的完整步骤,为类似场景提供了操作参考。
2025-09-25 17:07:56
790
原创 K8S的StorageClass使用节点本地LVM逻辑卷怎么进行PVC扩容
摘要 K8S中一个10G的PVC因空间不足报错,扩容至100G时发现其底层使用主机LVM逻辑卷。由于原卷组空间不足且K8S不支持缩容,导致服务中断。处理过程包括:在主机lx25k21sla2上添加新硬盘/dev/sdc、初始化为物理卷、扩展vg-data卷组、将逻辑卷扩容至150G,并调整文件系统。最后K8S自动识别扩容,删除问题Pod后服务恢复。
2025-09-25 15:23:03
580
原创 银河麒麟V10X86架构Docker容器启动GPU镜像
本文介绍了在麒麟V10系统上配置Docker支持NVIDIA GPU的完整流程。首先配置了麒麟系统的yum源,然后安装Docker及相关依赖。接着通过添加NVIDIA容器工具包源,安装nvidia-container-toolkit,并配置Docker运行时以支持GPU。最后通过启动CUDA基础镜像运行nvidia-smi命令验证GPU是否可用。整个过程包含详细的命令和配置说明,解决了在国产操作系统上使用Docker容器调用GPU资源的问题。
2025-09-24 16:12:15
755
原创 Harbor服务Pull正常Push报错
摘要 Harbor在Kubernetes环境中推送镜像时出现HTTP 500错误。经排查发现是harbor-registry存储卷空间不足导致。通过查看pod配置确认使用harbor-registry PVC,检查该PVC发现存储空间已满。解决方案是直接编辑PVC将存储容量从原大小扩容到100GB,由于配置了StorageClass,修改后自动完成扩容。扩容后重新推送镜像操作恢复正常。问题根源在于Harbor存储空间不足,通过Kubernetes PVC扩容功能快速解决了该问题。
2025-09-23 17:39:25
272
原创 生产环境K8S的etcd备份脚本
摘要 本文介绍了一个用于etcd数据库备份的自动化Bash脚本。脚本主要功能包括:创建日志目录和备份目录,验证etcd连接状态,执行etcd快照备份,验证备份文件有效性,自动清理30天前的旧备份,以及设置每日定时任务。脚本具有完善的错误处理和日志记录功能,确保备份过程的可靠性。执行结果显示脚本成功创建了备份文件并验证了其有效性,同时自动配置了计划任务,实现每天凌晨2点的自动备份。该脚本适用于需要定期备份etcd数据库的生产环境。
2025-09-22 10:57:17
460
原创 rook-ceph CRD资源配置时效问题
【摘要】Kubernetes中编辑CRD时出现"修改时间过长报错"问题,核心原因是resourceVersion版本冲突。短时间内修改能成功是因资源未被更新,版本一致;长时间后其他操作可能已修改资源,导致本地版本过期。解决方法:每次修改前执行kubectl get获取最新版本,快速编辑后立即应用。本质是Kubernetes的版本控制机制防止并发修改冲突。(149字)
2025-09-19 17:41:18
447
原创 没有cluster.yaml的rook-ceph自定义添加osd流程
在Rook-Ceph环境中手动配置新OSD设备盘的过程:首先导出cephcluster.yaml配置,为节点添加ceph标签;然后在配置文件的storage节点下按照格式添加新设备盘位置和对应节点名;由于配置有时效性,需快速完成修改并重新apply。成功后可在Web界面或工具中查看集群状态,确认新OSD已正常加入。整个过程解决了在缺失cluster.yaml情况下通过CRD文件手动配置存储设备的问题。
2025-09-19 17:36:21
361
原创 rook-ceph的ssd类osd的纠删码rgw存储池在迁移时的异常处理
摘要:在将SSD OSD迁移至HDD OSD时,纠删码池(EC 2+1)出现"active+undersized"错误,原因是当前故障域配置为host,但实际只有两台主机。解决方案是:1) 创建新的erasure-code-profile设置故障域为osd;2) 建立对应CRUSH规则;3) 修改存储池关联新规则。最终数据成功迁移,存储池恢复正常。关键点在于纠删码池的故障域配置需与实际硬件环境匹配。
2025-09-19 15:42:36
863
华为NAPT.docx
2020-04-29
案例:squid代理服务器.docx
2020-08-23
思科路由器ospf.docx
2020-04-29
华为NAT,端口映射.docx
2020-04-29
mysql-boost-8.0.19.tar.gz
2020-04-29
思科PVST+HSRP.docx
2020-04-29
案例·:PXE网络装机.docx
2020-04-07
ansible-2.9.6.tar.gz
2020-04-07
华为设备ospf .docx
2020-04-29
python-3.8.0-amd64.exe
2020-04-29
华为设备VRRP主备备份配置实例.docx
2020-04-29
华为VRRP多网关负载分担配置实例.docx
2020-04-29
案例:ftp匿名访问步骤.doc
2020-08-23
Hybrid 接口应用实验.docx
2020-04-29
haproxy-1.8.10.tar.gz
2020-04-29
案例:lamp环境.docx
2020-04-29
案例:ssh远程管理.docx
2020-04-07
策略路由基础知识.docx
2020-04-29
zabbix监控系统.rar
2020-04-29
思科【项目5】NAT实用技术.docx
2020-04-29
思科ACL实用技术.docx
2020-04-29
思科交换机dhcp服务.docx
2020-04-29
适用于Linux初学者阅读的笔记
2022-11-09
华为路由器ACL.docx
2020-04-29
jenkins_plugins.tar.gz
2020-12-07
PerconaXtraBackup-8.0.11.pdf.zip
2020-06-04
华为路由器dhcp服务.docx
2020-04-29
zabbix-4.2.6.tar.gz
2020-07-16
mongodb-linux-x86_64-4.0.11.tgz
2020-09-02
思科路由器dhcp服务.docx
2020-04-29
percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm
2020-06-10
node-v10.16.1-linux-x64.tar.xz
2020-09-02
FSCapture_7.7_Chs_Green.zip
2020-06-07
华为交换机dhcp服务.docx
2020-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅