- 博客(947)
- 资源 (4)
- 收藏
- 关注
原创 Docker多架构镜像构建器常用命令
摘要:本文针对Windows系统构建Docker镜像时出现的架构不匹配警告,提供了完整解决方案。核心问题是Windows默认构建amd64镜像与本地arm64基础镜像冲突,导致镜像无法在麒麟V10 arm64服务器运行。通过使用docker buildx build --platform linux/arm64 --pull=false命令,强制构建纯arm64架构镜像并禁用网络拉取,彻底解决网络超时和架构不匹配问题。最终验证镜像架构为arm64后,可导出镜像包在麒麟V10服务器上直接运行。该方法确保镜像1
2026-03-20 11:12:23
188
原创 Go的WEB框架Gin创建标准项目入门格式就是这样的
本文介绍了如何规范拆分Gin项目的API代码结构。核心思路是将路由注册与业务逻辑分离:使用handler/目录存放各功能模块的业务逻辑,router/目录统一管理路由注册,main.go仅作为程序入口。通过创建hello和user模块示例,演示了如何按功能拆分API代码。这种结构遵循Go工程化最佳实践,使代码更易维护和扩展,适合项目规模增长后的管理。文章还提供了完整的目录结构、代码实现步骤和测试方法,帮助开发者快速掌握模块化开发技巧。
2026-03-05 11:06:44
257
原创 使用Docker拉取指定架构的镜像并保存到本地
摘要:本文介绍了如何拉取和验证多架构Docker镜像的具体步骤。首先从阿里云镜像仓库拉取CoreDNS v1.11.3镜像,然后通过docker buildx inspect命令查看该镜像支持的多种架构(包括amd64、arm/v7、arm64等)。重点演示了如何拉取arm64架构的特定版本镜像,并提供了保存镜像到本地以及验证镜像完整性的命令。文末还提到腾讯云针对新用户的优惠活动,2核4G服务器仅需79元/年。
2026-03-05 09:36:56
273
原创 Kubernetes 运维工程师实战手册:从 kubectl 到生产级集群调度全整理
《Kubernetes运维实战手册》摘要:本文系统整理了K8s运维核心知识与命令,涵盖集群管理、命名空间操作、Pod生命周期管理三大模块。重点介绍了kubectl工具语法、命名空间隔离、Pod状态监测与排错技巧,以及污点容忍策略等高级配置。手册包含大量实用命令示例,如Pod创建/删除、容器调试、资源配置文件生成等,并详细解析了YAML配置文件的关键字段。适合DevOps工程师快速掌握K8s日常运维操作,解决生产环境中的常见问题。(149字)
2026-01-28 16:18:11
900
原创 Kubernetes kubectl 命令速查手册(日常使用必备)
Kubernetes kubectl 常用命令速查手册 本手册整理了 Kubernetes v1.34 版本中最常用的 kubectl 命令,涵盖集群管理、资源操作和故障排查等场景。主要内容包括: 集群配置与信息查询(版本、上下文、命名空间管理) Pod 全生命周期操作(查看、日志、执行、端口转发) Deployment 管理(扩缩容、镜像更新、回滚) 服务管理(创建、暴露、查看) ConfigMap 和 Secret 配置管理 常用调试与监控命令 手册采用简洁的代码块格式,提供命令简写形式,便于开发运维人
2026-01-28 16:10:38
245
原创 1. 直接启动业务容器,不会卡死 docker run -itd —name test xxxxx:v1 2. 启动的时候附加,也不会卡死 docker run —itd —name
根据你描述的现象,问题,这为诊断指明了非常清晰的方向。这是一个典型的交互式操作与非交互式操作差异导致的问题。
2026-01-28 09:32:04
326
原创 k8s好看的UI管理界面kubepi部署步骤使用kubepi部署
摘要:本文档展示了Kubernetes中部署Kubepi应用的完整配置,包含三个核心部分:1) 持久化存储声明(PVC),定义了5Gi的NFS存储;2) 部署(Deployment),配置了单副本容器、特权模式及存储挂载;3) 服务(Service),通过NodePort 30091暴露应用端口。配置模拟了Docker运行时的关键参数(如特权模式、端口映射和存储卷),同时添加了Kubernetes特有功能如持久化存储。特别注意的是设置了imagePullPolicy为Never,强制使用本地镜像。
2026-01-05 12:14:21
945
原创 Kubernetes DNS 名称解析详解
Kubernetes DNS解析详解:服务kubernetes.default.svc.cluster.local是集群内建的API Server服务。该地址遵循服务名.命名空间.资源类型.集群域的层次结构,其中kubernetes是服务名,default表示命名空间,svc表示Service资源类型,cluster.local是默认集群域名。由于DNS搜索域配置,在Pod内可使用简写形式如kubernetes(同命名空间)或kubernetes.default(跨命名空间),但推荐使用完整域名以避免歧义。
2026-01-05 12:12:41
510
原创 部署二进制 Kubernetes
本文档详细介绍了二进制部署Kubernetes集群的完整流程,主要包括: 部署环境准备:包括操作系统(AnolisOS 7.9)、Kubernetes(v1.30.10)、etcd(v3.5.7)和Docker(v26.0)等组件的版本选择。 节点规划:1个master节点和2个worker节点的IP分配及组件部署方案。 关键系统配置:关闭swap分区、设置主机名、配置网络参数等,并解释了这些配置的必要性。 证书工具安装:使用cfssl工具生成TLS证书。 etcd集群部署:采用3节点高可用方案,提供下载地
2025-10-21 20:38:37
586
原创 Docker使用国内的源安装
摘要:阿里云镜像站因IP黑名单限制导致无法访问Docker仓库。解决方案包括:1)删除无效repo文件;2)改用腾讯云、清华或华为云镜像源;3)验证并完成安装。备选方案推荐使用官方安装脚本或手动RPM安装。安装后需验证并配置镜像加速器,建议优先尝试腾讯云镜像源。
2025-10-17 11:35:20
547
原创 k3s环境单节点,物理机ip是172.10.15.209,serverpod开启了主机网络, clientpod的ip10.42.0.58,cni0的ip是10.42.0.1/24
当在k3s单节点环境中,从主机网络模式的Server Pod(172.10.15.209)ping Client Pod(10.42.0.58)时,抓包显示源IP为cni0网桥IP(10.42.0.1)而非物理机IP,这是正常现象。原因是: 内核路由机制会将同一节点Pod间通信的源IP自动设为cni0网桥IP(10.42.0.1),因为目标IP属于cni0直连网段; 网络包流转路径为:Server Pod→宿主机路由→cni0网桥→Client Pod; 这种设计优化了回包路径,使Client Pod可直接
2025-06-24 16:53:00
921
原创 Pod的中执行脚本卡死定位
Kubernetes环境中排查Pod脚本卡死问题需要系统化方法:先通过kubectl检查Pod状态和日志,监控资源使用;进入容器用ps/top分析进程,或用strace/gdb追踪系统调用和堆栈;检查探针配置和节点资源压力。建议增强脚本健壮性(如超时控制、错误捕获)、合理设置资源限制,并集成监控告警系统(如Prometheus)。最终可通过临时容器或压力测试进一步诊断复现问题。
2025-06-24 09:40:21
612
原创 Linux定位具体是哪个脚本导致卡死
通过以上方法,通常可以定位到具体卡死的脚本及其原因。如果问题仍然难以复现,可以考虑在开发环境中模拟生产环境条件,逐步缩小问题范围。
2025-06-24 09:37:00
423
原创 docker过一段时间就会卡死原因排查
Docker容器中运行Shell脚本卡死,可能由资源不足(如内存、CPU、文件描述符)、系统兼容性问题(内核或安全模块限制)、脚本缺陷(死循环、资源泄漏)或Docker配置不当(版本/存储驱动)导致。排查需监控容器资源、检查系统日志、验证脚本逻辑及Docker配置。解决方法包括调整资源配额(如内存限制)、优化脚本(添加超时控制)、更新系统/Docker版本、调整安全策略或更换存储驱动。建议增强脚本健壮性(如使用set -euo pipefail)、配置容器健康检查并建立监
2025-06-24 09:35:10
1176
原创 docker执行docker exec -it xxx /bin/sh卡死执行alpine的基础镜像卡死排查
摘要(148字): docker exec卡死问题通常由内核兼容性、资源限制或架构特性引发。可通过检查系统版本/Docker版本、分析容器状态与日志(如journalctl、docker inspect)定位问题,重点排查PID命名空间异常或安全模块(SELinux/AppArmor)冲突。解决方案包括:更新内核/Docker版本、调整daemon.json配置(如存储驱动改为overlay2)、使用--privileged模式测试。临时替代方案推荐nsenter命令或设置超时参数。对于ARM64架构需特别
2025-06-24 09:30:28
534
原创 kube-proxy日志,使用的是ipvs模式,iptables模式是可以的,切换到ipvs模式就不行了解决思路
摘要: 针对IPVS模式下IPv4地址被错误解析为IPv6格式的问题(parseIP Error),根本原因可能是双栈配置冲突、kube-proxy版本缺陷或内核模块缺失。解决方案包括:1)禁用IPv6双栈配置,2)加载IPVS内核模块,3)升级kube-proxy至v1.23+版本,4)清理异常IPVS规则并重建,5)验证CNI插件兼容性。辅助操作包括检查Service端点、测试NodePort访问及内核日志。如问题持续,可临时回退至iptables模式定位问题,最终需确认环境配置与组件版本兼容性。
2025-05-27 11:03:21
708
原创 kube-proxy使用ipvs和iptables模式的区别
Kubernetes 中 kube-proxy 的 IPVS 和 iptables 模式对比:IPVS 基于 L4 负载均衡技术,适合大规模集群,支持多种调度算法,性能优异但需加载内核模块;iptables 兼容性好,适合小规模集群,可与 NetworkPolicy 深度集成但性能随规则增长下降。生产环境推荐 IPVS,小规模集群或需精细流量控制时可选 iptables。切换需注意内核兼容性和 Kubernetes 版本要求。
2025-05-27 10:50:57
899
原创 k8s中svc的 CLUSTER-IP无法ping通排查思路以及kube-proxy使用的模式
负责维护 Service 的流量规则(iptables/IPVS)。是虚拟 IP(VIP),它不绑定到任何物理接口,仅用于流量转发。在 Kubernetes 中,Service 的。,则需要排查以下问题。以下是详细的排查思路和。,因为 Service 的。
2025-04-11 16:33:28
1707
原创 k8s部署的机器或者网络中是否Flannel网络组件host-gw内核是否支持以及跨子网是否可以通信
host-gw 无法跨越路由器,需改用 VXLAN 或 WireGuard 后端。AWS/Azure 等云环境可能限制自定义路由,需确认 VPC 路由表支持。要确认当前系统内核是否支持 Flannel 的。host-gw 依赖主机间的路由转发,需确保。),但 host-gw 通常无需额外模块。极少数情况下需加载内核模块(如。
2025-04-11 15:21:38
569
原创 k8s网络组件flannel的mac地址重复解决以及会引起的问题
在 Kubernetes 集群中使用 Flannel 时,如果出现问题,通常是由于 Flannel 的 VXLAN 后端(或其他网络后端)配置不当或版本缺陷导致。如果多个节点的flannel.1接口的link/ether字段值相同,即存在重复。如果多个节点的 Pod 子网 IP 最后 4 字节相同(例如子网配置冲突),则 MAC 地址会重复。:旧版本 Flannel 存在 MAC 生成逻辑缺陷。:无法升级 Flannel 或需自定义配置。macPrefix:Flannel 子网分配重叠导致 MAC 重复。
2025-04-11 15:19:10
1189
原创 k8s使用的是Flannel网络组件是vxlan模式,PodIP和其他节点PodIP无法通信请给出排查思路解决办法
逐项排查后,Pod跨节点通信应能恢复。如问题依旧,可结合Flannel日志和抓包结果深入分析。通常MTU应比物理网卡小50(如物理网卡1500,则flannel.1 MTU为1450)。确保节点间UDP 8472端口开放,防火墙(如ufw/iptables)未拦截。观察是否有封装后的VxLAN流量(目标端口8472)。确认VxLAN报文到达,并解封装转发到目标Pod。若缺失,可能是Flannel未能正确分发路由。,并分配了与其他节点不同的Vtep IP。通过以上步骤,多数问题可定位为。,且未配置错误参数。
2025-04-11 15:14:58
1295
原创 Flannel 的 VxLAN 模式下FDB表
查看 FDB表重启后就会这样在 Flannel 的 VxLAN 模式下,FDB(Forwarding Database)表项用于记录目标 MAC 地址与远端节点 IP 的映射关系。这些条目通常由 Flannel 自动维护,但在某些场景下(如网络异常或配置错误),可能需要手动添加或删除。以下是操作步骤:参数说明::目标节点的 接口 MAC 地址。:指定 VxLAN 接口。:目标节点的物理网络 IP(即 Node IP)。:表示操作对象是本地接口。:标记为永久条目(避免被自动清除)。
2025-04-11 15:11:51
483
原创 K8s抓包PodIP流量到另一个主机节点上的流量
在 Kubernetes 中抓取跨节点 Pod 的流量需要结合节点的网络命名空间和 CNI 插件的工作机制。如果流量经过主机的物理网卡(如。(如 Flannel)或。
2025-04-11 14:51:46
568
原创 K8s的网络插件Flannel的8472端口无法连接故障排查思路
通信,会导致跨节点 Pod 网络不通。当 Kubernetes 集群中使用 Flannel 的。在节点上确认 Flannel 是否监听。时,若节点间无法通过。
2025-04-11 14:46:31
947
原创 K8s不同节点的PodIp无法Ping通故障排查思路
若问题仍存在,考虑更换网络插件(如 Calico)或深入抓包分析流量路径。在 Kubernetes 集群中,不同节点的 Pod IP 无法互相。
2025-04-11 14:43:56
1491
原创 Kubernetes Flannel有几种网络模式分别怎么通信
如果确认是隧道模式但跨节点不通,需继续排查防火墙、路由或 MTU 问题(参考之前的解决方案)。Flannel 的隧道模式通常由后端类型决定,常见的隧道模式后端包括。隧道模式会在节点上创建虚拟隧道接口(如。要确认 Flannel 是否工作在。,可以明确是否工作在隧道模式。
2025-04-11 14:28:42
730
原创 Calico隧道模式区别IP-in-IP和VXLAN 都是隧道模式有什么区别吗
都是 Calico 支持的隧道模式,用于在底层网络无法直接路由 Pod IP 时实现跨节点通信,但它们在封装方式、性能、兼容性等方面有显著区别。:在 Calico 中,IP-in-IP 和 VXLAN 不能同时启用,需根据需求选择一种隧道模式。如果底层网络支持 BGP,建议直接使用。
2025-04-11 14:24:39
809
原创 schedulerUnhealthyGet “http://127.0.0.1:10251/healthz“: dial tcp 127.0.0.1:10251: con
【代码】schedulerUnhealthyGet "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: con。
2024-11-30 20:38:51
435
1
原创 使用NVM管理多版本NodeJS,NVM安装使用教程
nvm-update.zip.checksum.txt:验证下载文件完整性的校验和文件 Source code(zip):zip压缩的源码。nvm-setup.zip.checksum.txt:验证下载文件完整性的校验和文件 nvm-update.zip:用于更新 Node。甚至可以复制这个路径到一边,后面配置环境要用!nvm-noinstall.zip.checksum.txt:验证下载文件完整性的校验和文件。nvm-setup.zip:安装包同上,只是使用了压缩,下载之后点击安装,无需配置。
2024-08-30 16:24:41
659
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
2023-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅