自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sre救赎之路

稳定性、效率、成本管控、云原生、安全等领域循序渐进探索,专注于企业运维体系建设与探索。

  • 博客(565)
  • 收藏
  • 关注

原创 k8s statefulset pod重启顺序

Kubernetes 会立即尝试重启该 Pod,不依赖其他 Pod 的状态。:由 kubelet 直接管理,不涉及 StatefulSet 的协调逻辑。:结合 Prometheus 监控 Pod 重启次数,避免频繁异常重启。:每个 Pod 绑定独立的 PersistentVolume(PV)。:StatefulSet 控制器会按索引顺序重新调度 Pod。需手动删除 Pod 以触发更新,顺序由删除操作决定。:按索引顺序重建 Pod,适合有状态服务。:默认按索引顺序创建/删除 Pod(

2025-04-02 23:11:13 474

原创 k8s pod重启顺序说明

解决方案使用 Operator 自定义控制器逻辑通过 Finalizers 控制删除顺序// 在控制器中设置删除顺序return// 检查前置 Pod 是否已删除if!c.requeuePod(pod) // 重新入队等待。

2025-04-02 22:58:13 635

原创 K8s中CPU和Memory的资源管理

在 Kubernetes 中,CPU 和 Memory 资源的管理和分配是非常重要的。通过合理地分配和管理这些资源,可以确保 Kubernetes 集群的稳定性和可用性,提高应用程序的性能。

2025-04-01 20:01:13 839

原创 K8S 存储:emptyDir、hostPath、local详解

在 Pod 的 YAML 配置中,可以通过以下方式定义。

2025-03-31 23:11:37 660

原创 k8s EmptyDir(空目录)详解

当 Pod 被删除时,该目录及其数据会被永久清除。它主要用于同一 Pod 内多个容器间的临时数据共享,无需依赖外部存储系统。适合临时存储,仍需关注其对节点磁盘空间的占用,避免因大量临时数据导致节点磁盘满溢。:同一 Pod 内,前端服务容器生成日志,日志分析容器实时读取日志。存储在节点本地,若 Pod 因节点故障迁移,原节点上的。Pod 被调度到新节点 → 在新节点上创建新的空目录。:该目录被挂载到 Pod 中指定的容器路径。被挂载到两个容器中,用于共享日志数据。数据不持久,Pod 删除后数据丢失。

2025-03-31 22:41:48 410

原创 python计算程序耗时

对于简单的耗时计算,可以使用或。如果需要更高精度的时间测量,推荐使用。对于性能分析,特别是短时间的代码块,可以使用timeit模块。

2025-03-28 16:58:02 165

原创 Go 语言常见错误

在 Go 语言的开发过程中,控制结构作为程序的核心组成部分,承担着程序流程的调控任务。无论是简单的条件判断,还是复杂的循环控制,恰当使用控制结构能有效提高代码的可读性与执行效率。然而,许多初学者和开发者在使用 Go 语言的控制结构时,常常会犯一些低级错误,导致程序出现逻辑问题或性能瓶颈。

2025-03-27 22:48:48 819

原创 kube-vip实践

kube-vip 是一款专为 Kubernetes 设计的轻量级高可用(HA)和负载均衡工具,通过虚拟 IP(VIP)机制实现控制平面和服务的高可用性。kube-vip 通过简化高可用集群的部署和管理,成为 Kubernetes 生态中重要的轻量级工具。:利用 ARP 协议在局域网内广播 VIP 的 MAC 地址,通过领导者选举(Leader Election)动态绑定 VIP 到健康节点。:通过 BGP 协议将 VIP 路由信息广播到网络设备(如路由器),实现跨子网的高可用。

2025-03-24 22:29:44 707

原创 kubeval结合kube-score实现k8s yaml文件校验

可显著提升 Kubernetes 配置的健壮性,降低运维风险。确保配置文件的语法正确性,避免低级错误导致部署失败。:通过 Git 钩子(pre-commit)触发校验。确保配置遵循安全与性能最佳实践,降低生产环境风险。:通过 CI/CD 强制校验,确保生产配置合规。:在开发阶段提前拦截问题,减少调试时间。:使用脚本或 IDE 插件实时校验。:从语法到安全配置的全方位检查。:强制阻断未通过校验的部署。:定义自定义规则文件(

2025-03-24 13:38:23 700

原创 kubeval 验证YAML 语法与 Kubernetes API 兼容性

kubeval 是一款专用于验证 Kubernetes YAML 配置文件语法和结构的静态检查工具,通过检查资源对象的 API 版本、字段定义等,确保配置文件的合规性。(最佳实践检查),可构建完整的 Kubernetes 配置质量保障体系。识别拼写错误、字段类型不匹配(如将字符串误写为布尔值)等低级错误。避免因集群版本升级导致的不兼容问题(如已废弃的 API 版本)。支持验证单个文件、目录或 Helm 模板输出(通过管道传递)。:直接验证 Helm 模板(未渲染)会失败。),验证资源配置是否与该版本兼容。

2025-03-24 09:57:43 562

原创 kube-score K8S Yaml静态代码分析工具详解

通过自动化检查、灵活的自定义规则和 CI/CD 集成,能显著降低配置错误导致的生产事故风险。kube-score 是一款专注于 Kubernetes 配置文件的静态代码分析工具,旨在通过自动化检查帮助用户识别资源配置中的潜在问题,并遵循最佳实践以提升集群的安全性、稳定性和性能。:支持通过 YAML 文件定义自定义检查规则,适应特定场景需求(如强制要求特定标签或注释)。:暴露高危端口(如 22、80)、未正确绑定持久卷(PV/PVC)或使用默认服务账户。定期扫描生产环境配置,识别安全漏洞(如特权容器)。

2025-03-23 18:53:38 632

原创 使用Kubesec检查YAML文件安全

Kubesec 是一个开源的 Kubernetes 安全评估工具,可以帮助用户发现和修复 Kubernetes 配置文件中的安全问题,从而提高集群的安全性。Kubesec 会对资源配置进行评分(0-100)并标记风险等级(:YAML 文件语法错误或包含非 Kubernetes 资源。:将扫描嵌入 CI/CD 流水线,阻断不安全部署。:关注 Kubesec 版本更新,及时适配新规则。问题(如 root 容器、未设置资源限制)。在容器或 Pod 级别设置。若需跳过某些检查,可通过。验证 YAML 合法性。

2025-03-23 18:22:52 628

原创 Kubernetes Node私有镜像仓库 Harbor(基于 Containerd 运行时)

修改 containerd 的配置文件,通常路径为 /etc/containerd/config.toml。在每个节点配置 containerd 拉取镜像的认证信息。如果crictl命令无法执行,执行下面命令。如果证书未设置,可能需要将。部署完成的harbor仓库。可以看到顺利将镜像拉下来了。

2025-03-23 17:59:18 217

原创 dnf命令详解

DNF 是 Rocky Linux、Fedora、CentOS 8+ 等系统的默认包管理工具,作为 YUM 的升级版,提供更快的依赖解析和更友好的交互。掌握 DNF 命令可高效管理系统软件,建议结合。:安装时提示依赖不兼容。修改仓库配置文件(如。

2025-03-23 17:07:34 346

原创 CentOS与Rocky 命令区别

从 CentOS 迁移到 Rocky Linux 时,优先验证关键服务(如数据库、网络配置)的兼容性。,选择 Rocky Linux;,使用 CentOS Stream。Stream 使用滚动更新源(如。仓库命名与 RHEL 对齐(如。

2025-03-23 16:43:43 520

原创 rocky linux yum源配置

通过替换国内镜像源(阿里云、清华源)并配置 EPEL 扩展仓库,可大幅提升 Rocky Linux 的软件下载速度。若需更多第三方软件,按需添加专用仓库即可。

2025-03-23 16:29:04 514

原创 rocky linux下载软件

基础操作:优先通过dnf安装,配置阿里云镜像加速。扩展软件:启用 EPEL 或第三方仓库。特殊需求:源码编译或容器化部署(如 Docker)。问题排查:关注依赖、网络和权限限制。

2025-03-23 16:21:32 279

原创 rocky linux 与centos系统的区别

Rocky Linux 和 CentOS 都是基于 Red Hat Enterprise Linux(RHEL)的社区发行版,但两者在目标定位、更新策略和社区管理上有显著差异。:与 Rocky Linux 定位相同,均为 RHEL 复刻版。:优先迁移到 Rocky Linux,工具链和文档支持完善。:企业级替代品,兼容 RHEL 但需关注许可条款。提前体验 RHEL 新功能。,确保稳定性和长期支持。

2025-03-23 16:12:16 1122

原创 GPU系列(七)-GPU集群部署

节点配置:安装驱动和容器运行时支持。部署设备插件:使 Kubernetes 识别 GPU。资源声明:在 Pod 中指定 GPU 需求。监控与调度:确保资源合理分配和任务运行。

2025-03-21 17:46:57 667

原创 golang 进度条实现

【代码】golang 进度条实现。

2025-03-16 21:29:03 118

原创 k8s 配置两个deployment主机级别互斥部署

为每个 Deployment 定义。

2025-03-16 20:34:01 406

原创 python self说明

self是 Python 面向对象编程中的一个重要概念,用于在类的方法中表示实例本身。通过self,可以访问和修改实例的属性,以及调用其他方法。

2025-03-14 10:33:14 310

原创 python for循环

当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。在 Python 中,for...else 语句用于在循环结束后执行一段代码。循环用于遍历序列(如列表、元组、字典、集合等)或其他可迭代对象。:在循环正常结束时(不是通过。:在循环内部再嵌套一个循环。循环遍历这些数据结构。退出)执行的代码块。

2025-03-12 19:15:33 336

原创 Python while循环语句

无限循环:使用while True实现无限循环,直到遇到break语句。用户输入验证:重复提示用户输入,直到输入满足条件。文件读取:逐行读取文件内容,直到文件结束。网络请求重试:实现重试机制,直到请求成功或达到最大尝试次数。游戏循环:主游戏循环,直到游戏结束条件满足。数据处理:处理数据,直到满足某个条件。倒计时:实现倒计时功能。资源轮询:轮询某个资源的状态,直到资源可用。通过这些示例,开发者可以看到while循环在各种场景中的应用。

2025-03-07 12:50:00 871

原创 pypi 配置国内镜像

通过这些方法,开发者可以有效地配置国内 PyPI 镜像源,提高下载和安装 Python 包的速度。配置文件指定源,linux下修改~/.pip/pip.conf,如果没这文件则创建。可能是网络问题或依赖库版本冲突。新建一个pip文件夹,在pip文件夹里面新建一个配置文件。easy_install配置国内源。可以直接通过命令行修改。

2025-03-06 23:07:41 393

原创 macos查询pip默认镜像地址

使用直接查看生效的配置。检查或文件。若未配置镜像,默认地址为 PyPI 官方源。

2025-03-06 22:55:25 664

原创 python数据结构

Python 提供了多种内置的数据结构,这些数据结构在处理和存储数据时非常有用。

2025-03-06 20:02:02 198

原创 多个语句构成代码组

多个语句构成代码组通常是指将多个语句组合在一起,形成一个逻辑上完整的代码块。在 Python 中,代码组可以通过函数、类、模块等形式来实现。

2025-03-06 19:28:33 146

原创 python print 输出

通过上述示例,开发者可以看到。

2025-03-06 19:19:04 204

原创 python 同一行显示多条语句

虽然可以在同一行显示多条语句,但建议每条语句单独占一行,以提高代码的可读性和可维护性。

2025-03-06 19:10:14 268

原创 python多行语句

在 Python 中,多行语句是指将一个长的语句分成多行来书写。这通常用于提高代码的可读性和可维护性。

2025-03-06 18:59:46 294

原创 python 行与缩进

在同一个代码块中,必须使用相同数量的空格或制表符进行缩进。

2025-03-06 12:43:03 275

原创 python保留字及作用

Python 的保留字是编程中不可或缺的一部分,每个保留字都有其特定的用途和意义。熟悉这些保留字及其作用,可以帮助开发者更有效地编写和理解 Python 代码。

2025-03-05 22:39:21 211

原创 python标识符

在 Python 中,标识符(Identifier)是指用来标识变量、函数、类、模块等的名称。

2025-03-05 22:36:55 455

原创 python代码注释方式

在 Python 中,注释是用于解释代码、提高代码可读性和可维护性的重要工具。Python 支持两种主要的注释方式:单行注释和多行注释。此外,Python 还支持文档字符串(docstrings),用于为模块、函数、类和方法提供详细的文档。

2025-03-05 22:34:02 323

原创 python虚拟环境

在 Python 中,虚拟环境(Virtual Environment)是一个隔离的环境,用于管理项目依赖,避免不同项目之间的依赖冲突。

2025-03-05 19:04:41 447

原创 使用requirements.txt管理python依赖

使用。

2025-03-05 15:51:34 362

原创 ollama查看模型日志

为了查看Ollama的日志,可以根据操作系统的不同,使用不同的方法。

2025-03-03 20:33:06 1907

原创 Macos ./ollama目录说明

通过以上步骤,你可以将Ollama的模型存储路径更改为你指定的目录。请确保新的存储目录具有足够的存储空间,并且你对该目录具有读写权限。根据Shell类型,编辑对应的配置文件。: 打开终端,创建一个新的目录作为模型存储路径。如果希望更改模型的存储路径,可以通过设置环境变量。如果输出是设置的路径,则说明环境变量设置成功。确认当前使用的Shell类型。,用于存储Ollama的配置信息。重启Ollama服务以使更改生效。,则你使用的是zsh;,用于存储下载的模型。,则使用的是bash。

2025-02-24 14:03:32 1252

原创 Ollama API 交互

Ollama 提供了基于 HTTP 的 API,允许开发者通过编程方式与模型进行交互。本文将详细介绍 Ollama API 的详细使用方法,包括请求格式、响应格式以及示例代码。

2025-02-23 14:56:58 1169

go1.17.13.linux-adm64.tar.gz

go1.17.13.linux-adm64.tar.gz

2023-06-27

node-v12.0.0-linux-x86.tar.gz

node安装包

2023-01-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除