- 博客(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(空目录)详解
当 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
原创 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
原创 多个语句构成代码组
多个语句构成代码组通常是指将多个语句组合在一起,形成一个逻辑上完整的代码块。在 Python 中,代码组可以通过函数、类、模块等形式来实现。
2025-03-06 19:28:33
146
原创 python保留字及作用
Python 的保留字是编程中不可或缺的一部分,每个保留字都有其特定的用途和意义。熟悉这些保留字及其作用,可以帮助开发者更有效地编写和理解 Python 代码。
2025-03-05 22:39:21
211
原创 python代码注释方式
在 Python 中,注释是用于解释代码、提高代码可读性和可维护性的重要工具。Python 支持两种主要的注释方式:单行注释和多行注释。此外,Python 还支持文档字符串(docstrings),用于为模块、函数、类和方法提供详细的文档。
2025-03-05 22:34:02
323
原创 python虚拟环境
在 Python 中,虚拟环境(Virtual Environment)是一个隔离的环境,用于管理项目依赖,避免不同项目之间的依赖冲突。
2025-03-05 19:04:41
447
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人