- 博客(193)
- 问答 (1)
- 收藏
- 关注
原创 Job 对应的 Pod 运行成功后未被删除 小结
核心结论:Completed 状态的 Job/Pod 主要占用节点磁盘(卷数据)和Etcd 元数据,挂载卷的场景下磁盘占用是核心风险;最佳实践为所有 Job 配置自动清理;CronJob 严格限制;挂载 PVC 的 Job 需手动/自动释放存储资源,避免持久化存储浪费。/bin/bashset -e# 删除所有Completed Pod# 删除所有Completed状态的Jobecho "清理完成!
2025-12-18 09:03:48
721
原创 in argocd ‘/tmp/_argocd-repo/../.git/index.lock‘: No space left on
可以补充完整的执行环境(如 Pod 名称固定前缀、节点权限等),我会针对性完善。(仅拥有者有写入+执行权限,无读取权限),且你当前执行命令的用户不是。ArgoCD 支持配置仓库缓存的 TTL(过期时间),修改。临时文件,最终 checkout 失败。(目录属主),导致无法遍历目录统计大小。若仅需清理空间,无需统计大小,可直接用。,导致 Git 拉取代码时无法创建。用户(Pod 内默认属主),或用。的 Deployment,为。用户强制删除目录(Pod 内。Deployment 中,给。
2025-12-17 12:45:08
928
原创 ArgoCD 中无用 ReplicaSet 问题全解析
基础配置:所有 Deployment 统一设置,从根源控制版本数;日常运维:通过 CronJob 每天清理超 24 小时的无用 ReplicaSet;应用生命周期:删除 ArgoCD 应用时启用级联删除,避免残留;风险兜底:清理前先通过--dry-run验证,或保留最近 1 天的 ReplicaSet 不清理。ArgoCD 中无用的 ReplicaSet(无 Pod 运行的旧版本)
2025-12-10 10:37:03
691
原创 Descheduler for Kubernetes
基础配置image:tag: v0.29.0 # 适配 K8s 1.24+,按需选择版本# 调度策略配置(核心)policy:profiles:- name: "RemoveDuplicates" # 驱逐重复 Pod(同一节点多副本)args:- name: "LowNodeUtilization" # 驱逐低资源利用率节点的 Podargs:cpu: 20 # 节点CPU利用率低于20%触发memory: 20cpu: 50 # 目标利用率50%memory: 50。
2025-12-09 13:16:28
655
原创 比较 SeaweedFS 与 Longhorn
SeaweedFS是主打高吞吐的分布式文件/对象存储,Longhorn是K8s原生的分布式块存储,二者适配K8s场景的性能特点、核心优缺点差异显著,以下结合具体数据、适用场景及官方信息展开详细对比:二者的性能优化方向不同,SeaweedFS侧重小文件高吞吐和快速寻址,Longhorn侧重块存储的一致性与稳定性,具体性能数据如下:
2025-11-12 14:08:14
847
原创 在k8s中seaweedfs中,weed 命令详细举例说明
在 Kubernetes 环境中使用weed命令行工具操作 SeaweedFS 时,需先确保weed客户端能连接到集群内的 SeaweedFS 服务(通常是 Filer 或 Master)。以下是,涵盖文件/目录的上传、下载、删除、查看等操作,结合 Kubernetes 环境的网络特性进行说明。
2025-11-12 13:07:44
699
原创 在k8s中部署seaweedfs,上传文件到seaweedfs方法
若已通过 SeaweedFS CSI 驱动创建了 PV/PVC,可将卷挂载到 Pod 中,直接在 Pod 内读写文件(文件会自动存储到 SeaweedFS)。确保 S3 Gateway 已部署(通常作为 Deployment 或 StatefulSet),并通过 Service 暴露端口(默认 8333)。在 K8s Pod 中通过 FUSE 挂载 SeaweedFS 目录,直接像操作本地文件一样上传,适合应用需要直接读写文件系统的场景。等工具上传,适合习惯 S3 操作的场景。(注意:需确保容器有。
2025-11-05 10:12:25
550
原创 新的pvc是否可以指定pv, 而这个pv已经被另一个pvc绑定,状态为bound
结论:新 PVC 无法指定已处于Bound状态的 PV(已绑定其他 PVC),Kubernetes 会主动拒绝该绑定请求。核心逻辑:PV 与 PVC 的绑定是排他性的,避免多业务共享同一卷导致数据安全风险。数据复用方案:需通过“快照 + 克隆”创建新卷,或在Retain策略下释放 PV 后复用(需手动操作)。
2025-10-14 16:44:01
374
原创 用helm安装SeaweedFS时,指定了persistentVolumeClaim
在使用 Helm 安装 SeaweedFS 时指定 persistentVolumeClaim(PVC)配置,核心意义是为 SeaweedFS 的关键组件(如 master、filer、volume 节点)提供持久化存储,确保数据在 Pod 重启、重建或集群故障时不丢失。
2025-10-14 09:17:12
571
原创 Descheduler for Kubernetes(K8s 重调度器)
Descheduler 的行为由ConfigMap配置(默认名称# descheduler-config.yaml(ConfigMap 内容) apiVersion : v1 kind : ConfigMap metadata : name : descheduler - config namespace : kube - system data : policy.yaml : | apiVersion: "descheduler/v1alpha2"
2025-10-10 16:01:39
634
原创 seaweedfs中,通过 Filer 接口写入测试文件,会存储到哪里
从用户视角(通过 Filer 接口访问):文件位于逻辑路径。从系统存储视角:文件数据分散存储在一个或多个 Volume Server 的数据卷中,由 Filer 统一管理映射关系。这也是为什么通过能看到文件(访问 Filer 的逻辑路径),但 Pod 内看不到的核心原因——若 Pod 挂载的逻辑路径与写入路径不匹配,就无法通过 Pod 内的目录访问到文件。
2025-10-09 14:48:42
395
原创 Helm Chart 中,SeaweedFS的 master.data.type 选择
对比维度hostPath数据可靠性低(依赖单节点磁盘)高(依赖集群级存储)部署复杂度简单(无需提前配置)稍复杂(需 PV/StorageClass)动态调度支持不支持(Pod 迁移后数据丢失)支持(PV 可跟随 Pod 调度)高级特性(快照等)不支持支持(依赖后端存储)适用场景开发测试、临时场景生产环境、正式部署建议开发测试用hostPath快速部署;生产环境必须用。
2025-09-30 15:34:30
898
原创 主流工作法简介
这些方法各有侧重,实际应用中常结合使用(例如用SMART设定OKR,用PDCA优化Scrum迭代,用80/20优先级配合GTD执行),需根据具体场景灵活选择。
2025-09-19 16:47:23
442
原创 在S3中,如何指定一个文件不受lifecycle的影响,不要被删除。
在S3中,要确保一个文件不受生命周期(Lifecycle)规则影响(即不被自动删除或转换存储类),核心思路是,或。
2025-09-05 14:19:31
865
原创 Argo CD 中部署的 Helm Chart 中的 Job 不定时自动重启
在 Argo CD 中部署的 Helm Chart 中的 Job 不定时自动重启,通常与以下几种机制或配置有关。Argo CD 默认会定期检查集群状态与期望状态的差异(即 “自动同步”),如果发现 Job 不存在或未完成,可能会触发重新部署。若 Helm Chart 中的其他资源(如 ConfigMap、Secret)发生变化,可能触发整个 Chart 的重新部署。若 Job 被标记为不健康,可能触发重新部署。若 Chart 中意外混入了 CronJob 配置,会导致定时触发。
2025-07-16 08:59:28
688
原创 在 Jenkins Master 上设置一个全局环境变量
所有 Agent(节点)和后续的 Pipeline 都可以访问它。如果有进一步问题(如权限管理、变量覆盖优先级等),可以继续探讨!这段 Groovy 脚本定义了一个函数。中添加或修改一个环境变量(
2025-07-10 14:42:52
822
原创 helm chart的chart.yaml 中,version: 0.0.8, appVersion: “0.0.6“ 区别
在 Helm Chart 的。主版本.次版本.补丁。
2025-07-02 14:04:24
474
原创 S3中 client.get_usage_stats() 和 client.list_buckets() 区别详解
是 Amazon S3 客户端的两个不同方法,用于获取不同类型的信息。:实际上,AWS SDK 中并没有。
2025-06-27 15:52:29
383
原创 K8S: etcdserver: too many requests
通过以上步骤,您可以有效解决etcd请求过载问题,并优化Kubernetes集群的长期稳定性。如果问题持续存在,建议进一步分析具体请求来源,可能需要对特定组件进行代码级优化。错误时,表明etcd数据库接收到的请求量超过了其处理能力。etcd作为Kubernetes的核心组件,存储着集群的所有状态数据,处理请求过载会导致集群不稳定。对etcd集群进行滚动更新时,每次只更新一个节点,确保集群可用性。当Kubernetes集群出现。
2025-06-23 14:13:25
1544
1
原创 Helm 回滚部署操作指南
当新版本部署出现问题(如配置错误、服务异常或功能故障)时,通过回滚可快速恢复到之前稳定的版本,减少故障影响时间。默认情况下,Helm 回滚会使用历史版本的配置。若需保留当前配置(如仅回滚代码而非配置),添加。通过以上步骤,可高效完成 Helm 部署的回滚操作,保障系统在出现问题时快速恢复到稳定状态。命令回滚到指定的历史版本(
2025-06-19 09:18:22
672
原创 Kubernetes证书过期后更新证书的过程中,正在运行的 Pod 是否受有影响
通过合理规划和操作,可以最大程度减少证书更新对 Pod 的影响。
2025-06-17 09:49:30
616
原创 Helm 的 Chart.yaml 文件中,version 和 appVersion 详解
【代码】Helm 的 Chart.yaml 文件中,version 和 appVersion 详解。
2025-06-16 10:08:32
737
原创 Helm Chart 中values.yaml 和通过 -f(或 --values)讲解
Chart 自带的默认配置文件,位于 Chart 根目录。它定义了所有可配置参数的默认值,是 Chart 的一部分,随 Chart 一起分发。参数指定的外部 YAML 文件。用于覆盖 Chart 中默认的配置值,优先级高于 Chart 自带的。)参数指定的 YAML 文件是互补关系,共同控制 Chart 的配置参数。参数,可实现 Chart 的灵活配置与环境无关性。部分,确认参数是否按预期覆盖。在 Helm Chart 中,
2025-06-06 09:11:35
681
原创 在Helm Chart中指定备用Registry的访问优先级
通过 Init Container 实时检查 Registry 可用性,按顺序尝试主/备 Registry,将可用地址写入共享卷供主容器使用。,它能在运行时动态检测 Registry 可用性,实现真正的优先级控制,且无需依赖外部工具。中定义优先级顺序,通过 Helm 模板逻辑选择第一个可用的 Registry。在 Helm Chart 中指定备用 Registry 的访问优先级,需要通过。Hook 在部署前检查 Registry 可用性,并修改 Chart 值。
2025-05-19 09:49:03
328
原创 Helm Chart 中配置多个 Docker Registry 地址以实现备用访问
通过以上方法,你可以在 Helm Chart 中灵活配置多个 Docker Registry 地址,实现高可用性的镜像拉取策略。
2025-05-19 09:44:40
575
原创 kubelet 清理资源以缓解磁盘压力
容器垃圾回收流程:Kubelet会清理可以驱逐的容器,包括那些状态不是RUNNING且在本轮GC前创建的容器。对于普通容器,Kubelet会根据MaxPerPodContainer与MaxContainers的设置,按照LRU策略,从Pod的死亡容器列表删除一定数量的容器,直到满足配置需求;镜像清理过程:kubelet会识别不再被任何容器引用的镜像(未使用镜像),并按照最近使用时间排序,优先删除最旧的镜像,对于新拉取的镜像,会存活一定时间(默认2分钟)后才执行清理,以防止刚拉取的镜像就被清理掉。
2025-04-29 15:54:34
1691
原创 在K8S迁移节点kubelet数据存储目录
在 Kubernetes(k8s)中迁移节点kubelet数据存储目录是一项需要谨慎操作的任务,因为kubelet负责管理节点上的容器运行时。
2025-04-29 14:45:07
808
原创 给女友讲懂 Kubernetes 的方法
用一些比喻故事来给女友讲懂Kubernetes的方法,希望能帮助她轻松理解这个复杂的概念:此女友非女友,是指外行人能快速的了解什么是Kuberneters。
2025-04-21 16:07:34
406
原创 k8s 调整Node节点 Max_Pods
默认情况下,Kubernetes集群中一个Node最多能起110个Pod。这是基于性能和资源管理的考虑,以确保Kubernetes集群的稳定性和可靠性。
2025-04-18 14:53:17
936
原创 aws s3api 常用命令
AWS S3API 是 Amazon Web Services(AWS)提供的用于与简单存储服务(S3)进行交互的命令行工具
2025-04-07 10:42:29
858
原创 安装 AWS CLI
aws s3api是 AWS CLI(Amazon Web Services Command Line Interface)中的一部分,用于与 Amazon S3 服务进行交互的 API 命令集合。若要使用aws s3api,你需要安装 AWS CLI。
2025-04-03 16:05:31
1968
空空如也
jinja2的两个变量比较,如何得到想要的输出结果
2021-11-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅