- 博客(117)
- 收藏
- 关注
原创 kubernetes online depoly | 快速部署kubernetes v1.30 集群 | 部署Cilium组件
Cilium利用Linux内核中的eBPF功能,实现了高效的网络策略执行、可观测性以及服务负载均衡,不仅解决了kube-proxy在性能和扩展性上的瓶颈,还提供了更为灵活和强大的网络控制能力。页面上半部分是kube-system 命名空间下的的数据流向图,官方叫做Service Map,默认情况下可以自动发现基于网络 3 层和 4 层的访问依赖路径,能看到 Hubble-UI 组件和 Hubble 组件是通过 GRPC 进行通信的,非常有趣。随着云原生技术的普及,越来越多的业务实现了k8s容器化。
2025-02-20 00:33:30
1420
原创 MAAS | Ollama 搭建本地 AI 大模型 deepseek&Web 界面调用
Ollama 是一个基于 Go 语言的本地大语言模型运行框架,类 Docker 产品(支持 list,pull,push,run 等命令),事实上它保留了 Docker 的操作习惯,支持上传大语言模型仓库 (有 deepseek、llama 2,mistral,qwen 等模型,你也可以自定义模型上传)。模型运行之后,会默认进入到交互状态,你可以按下 Ctrl + D 退出交互,但此时模型并不会退出,仍旧可以正常通过 Api 接口交互。
2025-02-11 23:36:15
1376
原创 快速搭建GPU环境 | docker、k8s中使用gpu
device-plugin 以 DaemonSet 方式运行到集群各个节点,以感知节点上的 GPU 设备,从而让 k8s 能够对节点上的 GPU 设备进行管理。nvidia-container-runtime 在中间拦截了容器 spec,就可以把 gpu 相关配置添加进去,再传给 runC 的 spec 里面就包含 gpu 信息了。调用链从 containerd --> runC 变成 containerd --> nvidia-container-runtime --> runC。
2025-02-07 00:01:32
4592
11
原创 Kubernetes 深入浅出系列 | 容器剖析之容器镜像原理
本章介绍了以 overlayfs 作为存储驱动的的镜像存储原理其中每层的镜像数据保存在 /var/lib/docker/overlay2//diff 目录下,init 层数据保存了在 /var/lib/docker/overlay2//diff 目录下,最后统一视图(容器层)数据在 /var/lib/docker/overlay2//diff 目录下,docker 通过 image 元数据和 layer 元数据利用内容寻址(chainID)将这些目录组织起来构成容器所运行的文件系统。
2024-10-15 23:12:09
1071
原创 Kubernetes 深入浅出系列 | 容器剖析之容器基本实现原理
- Docker 主要通过如下三个方面来实现容器化: - ① 使用操作系统的 namespace 隔离系统资源技术,通过隔离 网络、PID 进程、系统信号量、文件系统挂载、主机名和域名,来实现在同一宿主机系统中,运行不同的容器,并且每个容器之间是 相互隔离,运行互不干扰 。 - ② 使用操作系统的 cgroups 系统资源配额功能,限制资源包括:CPU、内存(Memory)、块设备(Blkio)、网络(Network)。 - ③ 通过 OverlayFS 数据存储技术,实现容器 镜像 的物理存储
2024-09-24 22:18:09
1254
原创 Kubernetes 系列 | k8s入门运维
可以通过查看Pod的Condition列表了解更多信息,pod的Condition指示pod是否已达到某个状态,以及为什么会这样,与状态相反,一个Pod同时具有多个Conditions。
2024-09-08 22:00:26
6810
4
原创 Kubernetes 卷存储|kubenetes 卷挂载ssh公私钥实现集群pod免密和宿主机与pod免密
SSH公钥和私钥是用于SSH(Secure Shell)协议中的一对密钥,用于身份验证和安全通信。SSH是一种加密的网络协议,常用于在不安全的网络中安全地进行远程登录和执行命令。公钥是密钥对中公开的部分,可以安全地分享给任何人或存储在远程服务器上,没有泄露风险。公钥通常用于加密会话密钥、验证数字签名或加密可以用相应的私钥解密的数据。在SSH登录认证过程中,公钥被放置在远程服务器上用户账号的~/.ssh/authorized_keys文件中。
2024-04-18 18:55:41
1439
原创 Kubernetes CNI Calico:Route Reflector 模式(RR) calico IPIP切换RR网络模式
Calico 路由反射模式是一种 BGP 互联方案,用于解决大规模网络中路由信息的分发和同步问题。在 Calico 的路由反射模式中,路由反射器(Route Reflectors)被用来集中管理路由信息,以减少网络中的路由信息数量和减小路由信息的分发规模。在 Calico 的路由反射模式中,路由反射器会收集来自其他节点的路由信息,并将其保存在本地。然后,这些路由信息会被分发给其他节点,以便它们能够学习到所有可达的路由。
2024-02-06 15:58:54
2178
原创 openclaw系列 | Windows部署指南
本文介绍了OpenClaw系统的Windows环境安装与配置流程。主要内容包括:1) 系统环境依赖检查(Node.js 22.0+和Git);2) 通过PowerShell执行安装命令并完成交互式配置向导;3) 飞书机器人配置方法;4) 常用操作命令如查看状态、启动Web面板、管理网关等。安装过程中需注意PowerShell执行策略调整,新手建议选择QuickStart模式并暂缓配置高级功能。文档提供了官方参考链接以便进一步了解飞书集成和社区支持。
2026-03-15 20:55:43
327
原创 《SRE 系列(八)| 高效组织协作经验》
SRE团队通过角色分工与协作保障系统稳定性,核心模式为"以赛带练"。PE负责全局监控与应急响应,工具团队开发自动化平台,稳定性团队提供全链路支持。在电商大促等高压场景下,团队进行容量分级、全链路灰度、动态扩容等操作,通过应急演练暴露问题并持续优化。日常工作包括变更评审、技术运营和资源优化,形成"极端场景驱动+例行化实践"的稳定性保障闭环。各角色分工明确又紧密协作,共同提升系统可靠性。
2025-09-13 21:48:59
843
原创 SRE 系列(七)| 从技术架构到团队组织
SRE 并不是简单岗位定义,而是一套团队实践和协作模式组织架构必须与技术架构匹配,分布式和微服务化是 SRE落地前提PE、工具平台开发、稳定性平台开发是核心角色,各司其职,协同保障业务稳定性。
2025-09-13 20:34:46
1042
原创 SRE 系列(六)| 故障复盘:从经验到落地的系统方法
摘要: 故障复盘应聚焦改进而非追责,避免陷入"单一根因"误区。提出"黄金三问"框架:分析所有故障原因、制定预防措施、优化恢复方案。强调三大判定原则:1)系统需具备自愈能力;2)第三方故障默认由使用方担责;3)复杂故障分段处理。复盘核心在于系统梳理各环节问题,明确改进责任人,通过缩短MTTR提升系统韧性。倡导以开放心态看待故障,将其视为优化契机而非追责依据,从而持续提升团队应急能力和系统稳定性。(149字)
2025-09-01 20:40:51
1120
原创 SRE 系列(五)| MTTK/MTTF/MTTV:故障应急机制的三板斧
故障处理过程中,效率的关键在于三个因素:1. **技术层面**:故障隔离手段是否完备。 2. **流程机制**:指挥体系是否明确,角色分工是否清晰。 3. **演练与反馈**:应急流程是否经过演练,沟通反馈是否及时。通过加强技术手段、优化流程机制,并定期进行故障演练,我们能显著提高故障处理效率,确保在故障发生时能够快速恢复业务,减少损失。
2025-09-01 20:40:01
1171
原创 SRE 系列(四)| MTTI 与 On-Call:高效故障响应之道
本文重点探讨了SRE体系中如何通过优化MTTI(平均确认时间)来提升故障响应效率。核心观点包括:1)基于SLO和错误预算快速判断故障等级,比依赖用户反馈更及时;2)组织协作机制(如On-Call轮值、War Room)比技术监控更能缩短MTTI;3)提出On-Call五步法:关键角色保障、快速组建应急小组、合理呼叫机制、资源升级通道、云厂商联动。通过优化MTTI这一关键环节,可为后续故障处理赢得时间,从而有效降低系统不可用时长。(149字)
2025-08-24 17:52:43
1371
原创 SRE 系列(三)| Error Budget:把 SLO 落到实处
本文探讨了SLO(服务级别目标)的落地实践与评估方法。首先提出将SLO转化为可操作的Error Budget(错误预算),类比驾照记分制,使目标更直观。接着介绍错误预算的四大应用场景:稳定性燃尽图、故障量化定级、跨团队共识机制和告警收敛。最后提出评估SLO有效性的三维标准:达成情况、人肉投入和用户满意度,建议根据评估结果适时调整SLO。核心观点是:错误预算比百分比目标更具警示性,通过量化手段可有效指导稳定性工作,并需要定期验证目标合理性。
2025-08-24 17:47:14
1183
原创 SRE系列(二) | 从可用性到 SLI/SLO
系统可用性与稳定性指标解析 本文从SRE工程角度探讨了系统可用性的衡量标准,重点分析了时间维度和请求维度两种计算方式。时间维度关注宕机时长(如99.9%代表年停机8.76小时),而请求维度更能反映用户体验(成功率95%为阈值)。Google的VALET方法论(容量、可用性、时延、错误率、人工介入)为SLI(服务等级指标)选择提供了实用框架。SLO(服务等级目标)设定建议采用组合条件(如成功率+时延多维标准),并区分了内部SLO与对外SLA的差异。文章指出,稳定性管理需平衡成本、业务重要性和系统现状,不是&q
2025-08-22 23:48:38
1386
原创 SRE系列(一) | 初识 SRE,聊聊稳定性的“体系化”之道
SRE(Site Reliability Engineering)近几年火得很,但真正落地时,常常“口号”多、方法少。作为技术圈老码农,聊聊从实践的角度,怎么理解 SRE,怎么落地。
2025-08-17 00:17:09
932
原创 Kubernetes finalize | namespace卡Terminating&finalizers删除失败
在 Kubernetes 中,当删除一个 Namespace 时,控制平面并不会立即将其从集群中移除,而是首先尝试优雅清理该命名空间下所有资源对象。如果其中某个资源(如 PVC、Pod、CRD 对象等)挂起或其 finalizer 未能完成,则整个 Namespace 会无限卡在 Terminating 状态。
2025-04-23 00:09:49
708
原创 Kubernetes 深入浅出系列 | 容器剖析之容器安全
容器提升了交付效率,但不当使用 --privileged 或以 root 用户运行,可能带来严重安全隐患。本文系统解析容器特权机制风险,并介绍 User Namespace 与 Rootless 等实用加固方案,助你构建更安全的容器环境。
2025-04-10 00:01:50
1619
原创 浅谈网络 | 容器网络之Cilium
Cilium 是一个开源网络和安全项目,专为 Kubernetes、Docker 和 Mesos 等容器管理平台设计,旨在为容器化环境中的应用程序提供透明的网络连接和安全保护。它基于 Linux 内核中的 eBPF 技术,能够在内核层面上动态插入安全、可见性和网络控制逻辑,支持传统网络安全(如防火墙和访问控制)以及更精细的 API 和进程级安全,确保容器间通信不受威胁。
2025-02-20 23:02:22
1603
原创 MAAS | DeepSeek本地部署如何开启联网搜索?
Page Assist 是一款开源浏览器扩展,专为本地 AI 模型提供侧边栏和 Web UI,便于用户在网页上直接与 AI 互动。它支持多种任务,包括网页内容分析、视觉模型交互、极简 Web UI 访问本地 AI、联网搜索,以及在侧边栏内直接聊天和处理 PDF、CSV、TXT、MD、DOCX 等文档,提升信息获取和处理效率。
2025-02-11 23:31:13
3144
原创 浅谈网络 | 容器网络之Calico
BGP(边界网关协议)是 Linux 内核原生支持的、无中心的路由协议,广泛用于数据中心和互联网服务提供商(ISP)之间的路由信息交换。通过 TCP 连接(通常是 179 端口)在边界网关(Router)之间传播路由信息。维护自治系统(AS)间的路由规则,实现全局网络连通性。采用路径向量协议(Path Vector Protocol)进行路由决策,确保数据包能够最优地到达目标网络。
2025-02-08 00:30:04
981
原创 浅谈网络 | 容器网络之Flannel
Flannel 的底层实现实际上是一种 overlay 网络(除了 host-gw),把某一协议数据包封装在另一种网络进行路由转发。常用支三种模式:UDP、VXLAN、host-gw。
2025-01-30 23:15:45
1388
原创 Kubernetes Prometheus 系列 | avg等聚合函数能查出值,但直接label查询却查不到值。
上图中即时查询这个序列实际的数据仅有1分钟的点,且最后一个点是stale marker(标记序列结束),这种instant vector的查询语句,看到stale marker的时候,会忽略该标记前的序列(0 1 2 3为stale marker前的点),如果stale marker后没有其他点了,那么该时间步的结果就会为NaN(不展示)数据中有stalemarker点,直接用label的查询看到stalemarker点就会忽略之前的点(因为他找的是最新的有效点)
2025-01-21 00:40:46
522
原创 浅谈网络 | 容器网络
容器是一种相较于虚拟机更为轻量级的资源隔离技术,其核心依赖于namespace和cgroup两项关键技术:namespace实现了逻辑上的隔离感,使容器看似独立运行;而cgroup则负责资源使用的隔离,确保容器在资源分配上的独立性。在网络连接方面,容器与虚拟机的接入物理网络方式颇为相似。它们通常通过桥接技术,使得位于同一物理机上的容器能够相互通信。若需访问外部网络,最简单且常见的方法是通过NAT(网络地址转换)技术来实现。
2024-12-14 23:34:32
776
原创 Kubernetes 系列 | 容器监控之那些丢失的指标
当把 k8s 升级到 高版本后,发现监控中有些指标都是空值,例如container_fs_usage_bytes和container_fs_limit_bytes无Pod label(其他container_fs可能也无)、container_network_tcp/udp 等都为0。
2024-12-12 16:53:17
1192
原创 浅谈网络 | 云网络隔离GRE/VXLAN
GRE 是一种点对点的隧道模式,而 VXLAN 支持组播隧道模式。它们都需要在 Tunnel Endpoint 进行封装和解封装,以实现跨物理机的互联。OpenvSwitch 可以作为 Tunnel Endpoint,通过配置流表规则,将虚拟机网络与物理机网络进行隔离和转换,从而实现高效的跨机通信。
2024-12-09 23:07:30
1623
原创 浅谈网络 | 云网络
如果使用桥接网络,当你登录虚拟机里看 IP 地址的时候会发现,你的虚拟机的地址和你的笔记本电脑的,以及你旁边的同事的电脑的网段是一个网段。在数据中心里面,采取的也是类似的技术,只不过都是 Linux,在每台机器上都创建网桥 br0,虚拟机的网卡都连到 br0 上,物理网卡也连到 br0 上,所有的 br0 都通过物理网卡出来连接到物理交换机上。这样,所有的网络包都会发送到这个虚拟网卡上。在这种方式下,你登录到虚拟机里面查看 IP 地址,会发现虚拟机的网络是虚拟机的,物理机的网络是物理机的,两个不相同。
2024-12-08 16:27:14
1225
原创 Kubernetes Nginx-Ingress | 禁用HSTS/禁止重定向到https
客户请求经过ingress到服务后,默认加上了strict-transport-security,导致客户服务跨域请求失败,具体Response Headers信息如下;分析nginx-ingress-controller组件默认是开启HSTS的,有些浏览器第一次基于PLAIN HTTP访问时,服务端(开启HSTS)会在返回给客户端的响应头里携带Non-Authoritative-Reason: HSTS字段,说明服务端支持HSTS,当客户端也支持的情况下下次会直接以HTTPS方式访问服务端。
2024-12-08 14:52:39
2137
原创 浅谈网络 | HTTPDNS协议与CDN
与传统的 DNS 解析不同,HTTPDNS 自建并管理域名解析服务,相当于每个服务商或应用根据自己的需求,搭建一个专属的 “地址簿”,不再依赖统一的 DNS 解析服务。与传统 DNS 的缓存不同,这里的缓存是由手机应用自己管理的,而不是由运营商统一控制。由于客户端嵌入了 SDK,HTTPDNS 能够直接获取客户端的地理位置、运营商信息、网络环境等,避免了本地 DNS 解析过程中可能出现的缓存、转发和 NAT 等问题,从而保证了客户端的位置信息准确无误,能够获得权威的 DNS 解析结果。
2024-12-07 17:04:39
1199
原创 Kubernetes 深入浅出系列 | 容器编排与作业调度之Deployment
Kubernetes 中,Deployment 控制器是用于管理应用程序生命周期的核心对象。Deployment 通过管理 ReplicaSet 来间接控制 Pod,确保在任何时刻都能维持指定数量的 Pod 副本。这种间接管理使得 Deployment 功能比 ReplicaSet 更加强大,可以支持如滚动更新、回滚等。自动部署和滚动更新:支持对应用的无缝更新,保证在更新过程中系统的高可用性。回滚:允许用户回退到之前的版本,确保在部署过程中出现问题时可以迅速恢复。
2024-12-07 17:04:09
1134
原创 浅谈网络 | DNS协议
在网络世界里,我们记得住网站的名称,但很难记住网站的 IP 地址。为了解决这个问题,就需要一个类似“地址簿”的东西,这就是 **DNS 服务器**。
2024-12-01 16:48:53
1205
原创 浅谈网络 | 流媒体与P2P协议
DHT 是一种分布式哈希表,每个加入 DHT 网络的节点都负责存储网络中的资源信息和其他成员的联系信息。简单来说,所有节点共同构成一个庞大的分布式数据库,分担信息存储和查询的工作。
2024-12-01 14:03:29
2120
原创 浅谈网络 | 应用层之HTTP协议
HTTP 协议几乎是每个人上网时接触到的第一个协议,但它又是一个容易被忽略的协议,因为我们日常使用它时,很少关注其背后的细节。为了更具体地理解 HTTP 协议,我们可以从一个实际场景开始,比如访问一个新闻网站:http://www.163.com。这个地址是一个 URL(Uniform Resource Locator,统一资源定位符)。
2024-11-28 23:43:41
1231
原创 浅谈网络 | 应用层之HTTPS协议
**对称加密** 是一种简单高效的加密方式。加密和解密使用相同的密钥。也就是说,发送方和接收方共享同一个密钥来对数据进行加解密。为了确保数据安全,密钥必须保密,只有通信双方知道,不能泄露给其他人。**非对称加密** 则更为复杂,使用的是成对的密钥:一个是公开的 **公钥**,另一个是私密的 **私钥**。非对称加密的特点是:- 用公钥加密的数据只能由私钥解密。- 用私钥加密的数据只能由公钥解密。
2024-11-28 23:42:55
975
原创 浅谈网络 | 传输层之TCP协议
相比 UDP 的简单信任,TCP 更加谨慎,它秉承“性恶论”的设计理念,默认认为网络环境是恶劣的,充满了丢包、乱序、重传和拥塞等问题。为了保证数据能够顺利送达,它从算法层面引入了许多机制来保障可靠性。
2024-11-25 23:25:51
1499
原创 浅谈网络 | 传输层之套接字Socket
Socket 这个名字非常形象,可以理解为“插口”或“插槽”。虽然我们是编写软件程序,但可以把它想象成两端用网线连接,一头插在客户端,另一头插在服务端,通过这条“网线”进行通信。因此,在通信开始之前,客户端和服务端都需要建立一个 Socket。
2024-11-25 23:25:09
878
原创 浅谈网络 | 传输层之UDP协议
如果将 TCP 比作成熟的社会人,UDP 则是头脑简单的小朋友。TCP 复杂,UDP 简单;TCP 维护连接,UDP 谁都相信;TCP 会坚持知进退;UDP 愣头青一个,勇往直前;UDP 虽然简单,但它有简单的用法。它可以用在环境简单、需要多播、应用层自己控制传输的地方。例如 DHCP、VXLAN、QUIC 等。
2024-11-21 22:45:07
930
原创 MAAS | 使用 tmux 运行模型
tmux 是一个强大的终端复用工具,非常适合长时间运行的任务(例如训练模型),即使连接断开,任务也能继续运行。以下是使用 tmux 跑模型的常用方法。
2024-11-21 22:43:52
965
Kubernetes内外网通信,集群外节点访问 pod ip 路由隧道.C/S架构实现
2024-02-23
Prometheus+Grafana+Flink+node-exporter+pushgateway+alertmanager
2024-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅