- 博客(426)
- 资源 (2)
- 收藏
- 关注
原创 节点NotReady后容器驱逐时间调整
早期k8s版本中,Kubernetes Controller Manager 有一些相关参数,用于控制节点监控和 Pod 驱逐的行为。--node-monitor-grace-period=40s(节点失联后等待多久才标记为不健康)--node-monitor-period=30s(Controller Manager 检查节点状态的频率)--pod-eviction-timeout=5m0s(节点标记为不健康后,等待多久才开始驱逐 Pod)
2025-12-12 10:45:39
346
原创 StatefulSet 的每个 Pod 单独创建 Service
假设我们有一个 StatefulSet,名称为my-db我们想为每个 Pod 创建一个对应的 Service,让它们可以被,如:my-db-0 → 可通过或访问my-db-1 → 可通过或访问。
2025-12-03 14:40:52
249
原创 pod内核参数调优的方式
Kubernetes 将 sysctl 参数分为和。的 sysctl 参数除了需要设置恰当的命名空间外,在同一节点上的不同 Pod 之间也必须是。这意味着 Pod 上设置sysctl 参数时:必须不能影响到节点上的其他 Pod必须不能损害节点的健康必须不允许使用超出 Pod 的资源限制的 CPU 或内存资源。至今为止,大多数sysctl 参数不一定被认为是的。以下几种 sysctl 参数是(从 Kubernetes 1.18 开始),(从 Kubernetes 1.22 开始)。
2025-12-03 14:03:07
213
原创 Kubernetes DNS解析实战
只有当 Pod 通过就绪探针(Readiness Probe)并成为状态时,它才会被加入到对应的 Endpoint 对象中,CoreDNS 才会提供该 Pod 的 DNS 记录(仅限于这种格式)。:Service 的解析记录在时就会立刻添加到 CoreDNS 中,其后端是否有任何就绪的 Pod。
2025-08-29 18:16:54
324
原创 节点NotReady自动清理sts类型的Pod
当statefulset类型的pod所在节点notready时,不会被驱逐,一直处于Terminating状态。
2025-07-22 16:52:24
270
原创 Harbor支持推送Helm chart包
在 Harbor 安装时需配置harbor.yml,启用 ChartMuseum 组件。确保本地已安装 Helm(版本建议 ≥ v3),并添加 Harbor 仓库。
2025-05-20 13:57:47
667
原创 vmstorage横向扩容
vmstorage 是 VictoriaMetrics 时序数据库系统中的核心存储组件,负责时间序列数据的持久化存储和查询服务。
2025-05-14 16:55:28
419
原创 kubelet指标采集和监控告警
k8s版本:v1.16.2k8s版本:v1.20.8v1.16.2版本通过selflink调用apiserver接口来获取集群中node节点信息,高版本去掉了此功能,无法再通过vmservicescrape来进行指标采集,只能通过vmnodescrape对象。
2025-05-09 09:57:26
430
原创 etcd数据备份添加监控告警
说明:当备份文件小于 1 MB(异常情况)时触发报警。说明:当备份失败(状态为 0)时触发报警。数据类型:数字 (integer)数据类型:数字 (integer)类型:Zabbix Agent。类型:Zabbix Agent。
2025-01-16 14:23:02
324
原创 k8s中的CriticalAddonsOnly容忍配置
Kubernetes 中,是一种用于关键组件的容忍配置,主要目的是确保集群核心功能组件在资源紧张或节点发生问题时能够继续运行。不过,它本身并不是直接与某些特定的污点(Taints)绑定的,而是可以和节点上任何污点配合使用,因为它采用了Exists操作符。
2024-12-06 13:58:01
467
原创 journald日志保留时长修改
systemd程序是进程 ID 为 1 的进程,它负责以所需的方式初始化系统,能保证机器启动后系统正常初始化,并提供按需启动守护程序功能,很适合K8s基础组件的管理。是systemd提供的管理日记的系统服务,会根据从内核、用户进程、标准输入和系统服务错误收到的日志记录信息,维护结构化的索引日记,并以此方式来收集和储存日志记录数据。
2024-11-25 16:05:18
734
原创 k8s-ingress报错:<error: endpoints “default-http-backend“ not found>
在Kubernetes中,默认后端是指当没有其他后端服务匹配到入口的请求时,流量将被发送到的地方。在Ingress资源中,你可以通过定义一个名为的服务来配置默认后端。
2024-07-15 12:15:31
1506
3
原创 Mongo产品迁移操作手册
MongoShake是一个以golang语言进行编写的通用的平台型服务,通过读取MongoDB集群的Oplog操作日志,对MongoDB的数据进行复制,后续通过操作日志实现特定需求。日志可以提供很多场景化的应用,为此,我们在设计时就考虑了把MongoShake做成通用的平台型服务。通过操作日志,我们提供日志数据订阅消费PUB/SUB功能,可通过SDKKafkaMetaQ等方式灵活对接以适应不同场景如日志订阅、数据中心同步、Cache异步淘汰等。
2024-05-20 09:44:13
610
原创 Redis产品迁移操作手册
借助DTS和迁移工具,云数据库Redis为您提供了多种数据迁移方案,结合现场实际情况我们选择了模式做redis产品的全量和增量数据迁移。迁移链路如下图:二、迁移前准备2.1 迁移实例信息环境IP内网端口超管账号/密码ah-16379**ah-26379**2.2 迁移工具介绍是阿里云自研的开源Redis数据传输工具,支持对Redis数据进行解析(decode)、恢复(restore)、备份(dump)和同步(sync或rump。
2024-05-11 15:16:22
578
原创 k3s报错:Error: Kubernetes cluster unreachable: Get “http://localhost:8080/version“: dial tcp [::1]:xxx
而helm使用的是kubectl默认的配置文件,对于k3s环境,需要设置一下KUBECONFIG的值即可。设置完成之后,就可以使用helm工具了,从这里也能看到k3s的一些第三方插件也是通过helm部署的。
2024-03-26 10:15:06
1917
原创 如何查找overlayfs对应的POD
客户生产环境监控发现在所有主机夜间2-3点,/home/t4目录磁盘使用率会暴涨后回落,由于时间范围比较固定,疑似某服务或主机设置定时任务导致,但和客户沟通在此时间段并未设置定时计划任务,和产研确认产品在此时间段也未设置定时计划任务。如此一来,就需要我们自己通过脚本抓取/home/t4下具体哪个目录导致的磁盘增长。
2024-01-19 15:30:17
1865
原创 wireshark根据请求头过滤包
请求头在应用程序中是可以自定义的。在问题排查过程中需要根据请求头过滤http包,本文描述如何在wireshark中根据请求头过滤http包。添加需要过滤的header名,如mgw-traceid、operation-type等,添加好后确定。打开wireshark“首选项”(perfreences),点击“协议”下拉找到HTTP,点击custom http header fileds。添加好后,就可以根据http.haeader.xxx进行过滤了。
2024-01-18 15:29:35
1083
原创 /hbase/.oldlogs 存储空间过多如何清理
打开http://${master}:${port}/cm.jsp 账号密码均为hbase输入密码后,页面如下:调整master的log保留时间由默认的3天改成1天(注意数据安全,尽量在存储空间无风险的情况不要进行改操作)hbase.master.logcleaner.ttl 该值默认为259200000,代表3天,将该修改为86400000 1天如下:点击load使得该值被加载。
2024-01-17 15:30:08
712
原创 docker pull镜像报错:‘invalid checksum digest format‘
这个命令将返回镜像的 manifest(元数据),其中包含有关镜像的详细信息,包括层(layers)和配置。通过多次执行docker push可以发现,连接会重置到443端口上,返回的类似是一个html的内容。可以看到已经有服务监听了443端口,我们需要把这个服务给停掉。然后,你可以提取 manifest 中的层信息,并使用。最终可以拉取成功,证明registry服务正常。可以看到,已经配置了registry的安全连接。镜像可以导入本地,证明镜像没有问题。最终镜像可以正常推拉到镜像仓库!
2023-12-08 15:49:20
1530
转载 为啥有的configMap要重启Pod才生效
metadata:data:env方式envFrom方式volumes方式。env方式envFrom方式volumes方式。env方式和envFrom方式方式说白了是往容器里注入了环境变量,在容器启动的时候,就已经注入了,无法修改。每次修改configMap的key-value,需要重启Pod才能生效。volumes方式的方式,实际上把configMap的key-value写入到了容器对应的volume卷下,而且每次configMap变更,都会把最新值写入到volume卷下,这样容器每次都能取到最新值。
2023-11-23 16:16:17
1432
转载 3 种方法限制 K8s Pod 磁盘容量使用
超过软限制后,仍然可以正常使用,但是登陆后会收到警告,在 grace time 倒计时完毕之前,用量低于软限制后,一切恢复正常。也就是说,如果你创建一个文件,打开文件,写入 1GB,然后删除文件,这种情况下 inode 仍然存在(直到你关闭文件),空间仍然被占用,但是 Kubelet 却没有算这 1GB.对于 Pod 级别的隔离,Pod 总用量限制,是每个容器限制之和。如果文件被创建、然后删除,但是它的文件描述符仍然处于打开状态,这种情况下,它仍然消耗空间,不会出现周期性扫描的那种漏统计的问题。
2023-11-23 15:23:30
1290
2022年最新Docker 常见面试题汇总
2022-06-09
MySQL一主两从迁移
2022-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅