- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 ovn-northd组件介绍
为了理解ovn-northd,我们首先需要对 OVN 的整体架构有一个基本了解。OVN 是由 Open vSwitch (OVS) 项目开发的一个用于实现虚拟网络的系统。它旨在为虚拟机、容器等虚拟化环境提供网络虚拟化功能。北向数据库: 这是 OVN 的“大脑”或“意图”数据库。它存储了网络管理员希望实现的逻辑网络配置。例如,逻辑交换机、逻辑路由器、ACL(访问控制列表)、端口等。
2025-11-23 20:48:59
352
原创 k8s集群,master节点进入维护模式和退出维护模式
集群类型推荐操作后果多 Master (HA) 集群集群管理功能平滑切换,服务不中断。单 Master 集群不要drain,直接重启/维护集群管理功能在维护期间中断。在生产环境中,始终使用多 Master 高可用集群,这样你就可以安全地对单个 Master 节点进行维护,而不会影响整个集群的稳定性。
2025-11-06 15:02:55
866
原创 k8s集群,计算节点进入维护模式和退出维护模式
被标记为不可调度:Kubernetes 调度器会停止向该节点分配任何新的 Pod。驱逐现有 Pod:该节点上正在运行的 Pod 会被安全地终止。Pod 重建:如果这些 Pod 是由Deployment等控制器管理的,控制器会在其他健康的节点上重新创建它们。服务不中断:通过和Service机制,在旧 Pod 终止前,新 Pod 会启动并准备就绪,从而实现流量的平滑切换。
2025-11-06 14:09:08
415
原创 怎么升级k8s集群中某一个节点
逐个操作:绝对不要同时升级多个节点,尤其是在生产环境中。先控制平面,后工作节点:这是保证集群稳定性的关键。版本兼容性:Kubernetes 官方规定,kubelet版本不能高于版本,且小版本差异不能超过 2。升级时请务必遵守。回滚计划:如果升级失败,你需要有清晰的回滚计划。这就是为什么备份至关重要。回滚通常包括:恢复配置、降级kubeadmkubeletkubectl包,然后重启服务。按照以上步骤,你就可以安全、平滑地升级 K8s 集群中的任何一个节点了。
2025-10-31 15:17:02
823
原创 sqllite实现集群模式的方式
SQLite 本身是一个嵌入式数据库,设计为单机、单线程访问,。但可以通过一些间接方式实现类似集群的功能,例如主从复制、读写分离或分布式存储。
2025-10-25 11:44:35
513
原创 go中,调用context 返回的cancel函数会触发哪些行为
会触发什么?层面触发的行为后果context内部ctx.Done()通道被关闭不再阻塞,监听它的select语句被激活。ctx.Err()返回可以通过检查ctx.Err()来确认context是否已被取消以及原因。级联取消所有子context实现了整个调用链的统一生命周期管理。外部库/代码中断操作并立即返回如 HTTP 请求被中止、gRPC 调用被取消、SQL 查询被停止。返回一个非nil的错误通常是或,调用者可以据此判断操作是否因取消而失败。释放资源如关闭网络连接、文件句柄等。一句话概括:调用。
2025-10-10 16:48:04
254
原创 使用 Gin 框架来实现 SSE (Server-Sent Events)
特性方案一 (基础实现)方案二 (生产级实现)目标演示 SSE 的基本原理构建可扩展、可管理的实时服务架构单一 goroutine 处理单一连接Broker模式,集中管理所有连接连接管理无,连接断开后 goroutine 泄漏使用sync.Map和defer安全管理,自动清理消息分发循环内生成消息,只能发给当前客户端支持广播,可轻松扩展为点对点或组播解耦性消息产生和发送耦合在 Handler 中消息产生(如/broadcast端点)和发送(Broker)完全解耦健壮性较差,无错误恢复和背压处理。
2025-10-10 16:07:08
1287
原创 ipmitool 需要传递power_id吗,ipmitool 和 power_id有关系吗
ipmitool 本身不需要 power_id直接通过 BMC 控制服务器power_id 是 Cobbler 的抽象概念power_id 的使用场景PDU 管理时必需多电源环境有用标准单服务器 IPMI 可选选择依据单服务器:不需要 power_idPDU 控制:需要 power_id刀片服务器:可能需要 power_id理解这个区别有助于正确配置 Cobbler 的电源管理功能,避免配置错误。
2025-10-09 16:34:20
332
原创 Python中用于XML-RPC(XML Remote Procedure Call)通信的标准库(xmlrpc)入门
xmlrpc是Python中用于XML-RPC通信的标准库,包括客户端()和服务器()组件。它提供了一种简单的方式来实现远程过程调用,但在现代应用中,它可能不如REST或gRPC等技术流行。在测试中,我们经常使用来模拟XML-RPC调用,以避免实际的网络请求。
2025-09-24 23:19:14
613
原创 在 Go 中,用internal实现代码的封装和访问控制
在 Go 中,internal包是一种特殊的包命名约定,用于实现代码的封装和访问控制。以下是internal。
2025-09-17 21:03:37
429
原创 Go 语言中一个重要的概念:可寻址性(addressability)
在 Go 语言中,一个值是可寻址的(addressable)意味着我们可以获取它的内存地址,即可以对它使用操作符。变量指针解引用数组元素切片元素结构体字段可寻址值的字段而不可寻址的常量字面量函数返回值map 中的值接口值(具体值可能不可寻址)类型转换结果某些表达式结果底层实现:map 可能会 rehash,导致内部值的位置改变内存安全:避免创建指向可能失效的内存的指针设计一致性:确保 map 的行为在任何情况下都是可预测的。
2025-09-16 22:21:38
393
原创 Go中非常方便的两中方法调用规则
自动转换:编译器会自动将值类型转换为指针类型便利性:使代码更加简洁直观灵活性:允许在不同场景下使用相同的方法只有可寻址的值才能调用指针接收者方法这种自动转换不影响接口实现规则(只有指针类型实现了指针接收者方法)这种设计体现了 Go 语言追求简洁和实用的哲学,让开发者能够更自然地编写代码,而不必过分关注类型转换的细节。
2025-09-16 22:17:51
397
原创 深入探索 go中指针接受者和值接受者的区别
修改能力:指针接收者可以修改原始值,值接收者不能性能:指针接收者避免了大型结构体的复制开销方法集:指针接收者方法只属于指针类型,值接收者方法属于值类型和指针类型接口实现:这会影响类型是否实现了特定接口选择哪种接收者取决于你的具体需求,但一般来说,如果方法需要修改接收者或者接收者是大型结构体,应该使用指针接收者。
2025-09-16 22:13:32
877
原创 docker容器端口映射的原理
这个DOCKER链就是PREROUTING和OUTPUT链将数据包送来的地方。表明有两条规则(即PREROUTING和OUTPUT中的规则)跳转到了这个链。这是一个非常重要的动作。RETURN意味着“立即返回”,即跳出当前链(DOCKER链),回到原来调用它的链(PREROUTING或OUTPUT)的下一条规则继续处理。它匹配所有数据包 (这实际上是一个**“默认通过”的兜底策略**。它的意思是:“如果一个数据包进入了DOCKER。
2025-09-14 20:10:13
870
原创 tun/tap设备是什么,它是怎么工作的,在k8s网络中有什么作用
tun/tap设备是什么?Linux 内核提供的虚拟网络设备,是用户空间和内核网络栈的桥梁。怎么工作?用户空间程序通过read()write()系统调用,像操作文件一样收发网络数据包tun) 或以太网帧tap在 K8s 中的作用?1.构建覆盖网络:作为隧道入口,将 Pod 的跨节点流量封装成能在物理网络传输的包(如 Flannel)。2.实现网络策略:作为流量拦截点,让用户空间的网络插件(如 Calico 的 Felix)能检查和控制 Pod 的流量。tun/tap。
2025-09-14 18:15:29
1193
原创 深入理解 OCI 和 CRI它们之间的关系
OCI 是一个由 Linux 基金会在 2015 年主导成立的治理委员会和项目。它的诞生背景是,当时 Docker 公司如日中天,几乎成为了容器的代名词。为了避免容器技术被单一厂商(Docker)锁定,并促进容器生态的健康发展,多家行业巨头(包括 Google, Red Hat, IBM, Microsoft, Amazon 等)联合发起了 OCI。核心目标: 制定容器格式的开放行业标准。让任何人都可以基于这些标准来创建符合规范的容器工具,从而实现不同工具之间的互操作性。你可以把 OCI 想象成**“容器世
2025-09-14 11:37:06
1014
1
原创 动态编译 vs. 静态编译,容器时代那个更有优势?
特性动态编译 (Python/Java/Node.js)静态编译 (Go/Rust)最终产物可执行文件 + 一堆动态库 (.so/.dll)单一、自包含的可执行文件部署方式需要复杂的依赖管理 (aptpipnpm复制文件即可Docker 镜像较大 (几十MB到GB),需包含运行时和依赖极小 (几MB到十几MB),甚至可用scratch启动速度较慢 (需加载解释器/JVM和库)极快(毫秒级)环境一致性好 (但仍有底层库版本风险)完美(行为在任何地方都一样)安全性攻击面较大 (包含运行时和库)
2025-09-14 10:04:26
723
批量文本替换工具
2018-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅