运维
使用 Ops 项目查看并监控集群事件
· ☕ 2 分钟
https://github.com/shaowenchen/ops 1. 告警 Kubernetes 集群的事件 监控指定的关键字 1 2 3 4 5 6 7 8 9 10 11 apiVersion: crd.chenshaowen.com/v1 kind: EventHooks metadata: name: kube-pod-falid namespace: ops-system spec: type: xiezuo url: https://xz.wps.cn/api/v1/webhook/send?key= subject: "ops.clusters.*.namespaces.*.pods.*.event" keywords: - failed 一份简单的配置,即可收获大量的相关告警。 监控之后,自动化处理 1 2 3 4 5 6 7 8 9 10 11 12 apiVersion: crd.chenshaowen.com/v1 kind: EventHooks metadata: name: kube-no-free-node namespace: ops-system spec: additional: "action: restart-kubelet-bypod" keywords: - no free node subject: ops.clusters.*.namespaces.*.pods.*.event type: webhook url: http://x.x.x.x/webhook 借助 Ops Copilot 的执

Ubuntu 切换指定版本的内核
· ☕ 2 分钟
1. 安装新的内核版本 推荐使用 apt 源安装,避免安装了不兼容的内核版本。 1.1 源安装 查看可用版本 1 2 3 4 apt list linux-headers-5.15.*-*-generic linux-image-5.15.*-*-generic linux-image-5.15.0-94-generic/focal-updates,focal-security 5.15.0-94.104~20.04.1 amd64 linux-image-5.15.0-97-generic/focal-updates,focal-security 5.15.0-97.107~20.04.1 amd64 安装内核 1 apt install linux-image-5.15.0-97-generic linux-headers-5.15.0-94-generic 1.2 自行下载安装 需要先确认下当前的系统与目标内核版本是否兼容。 下载内核 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 1 2 3 4 wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-headers-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb wget amd64/linux-headers-5.19.0-051900_5.19.0-051900.202207312230_all.deb wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-image-unsigned-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-modules-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb 安装内核 1 dpkg -i *.deb

Ops 发布 v1.0.0 版本
· ☕ 2 分钟
基于生产的真实需要,最近对 https://github.com/shaowenchen/ops 又进行了几个重要的更新,同时发布了 v1.0.0 版本。这里主要介绍一下这个版本的主要特性。 1. 多集群执行任务的支持 在实践中,建议: 将当前集群的主机创建为 Host 可以创建多个 Cluster,拥有的 Cluster 对象即为纳管的集群 Task、Pipe

开发了一个 Copilot 用来处理运维故障
· ☕ 9 分钟
本篇内容主要来自内部的一次分享,也是最近工作的一些总结。 1. 常见的故障处理流程 如上图是一次典型的运维异常处理流程。 按照时间线,有如下关键时间点: 发生故障 发现故障 响应故障 定位故障 恢复故障 发生故障到发现故障,指的是被系统检测到,主要涉及到指标的采

将 JuiceFS 元数据从 Redis 迁移到 PGSQL
· ☕ 2 分钟
1. 为什么将元数据存储从 Redis 迁移到 PGSQL PGSQL 成本低 Redis 使用内存存储元数据,PGSQL 使用磁盘存储元数据,成本差异显而易见。 PGSQL 性能可调节 不同的 PGSQL 提供了不同的性能 IOPS。如果对性能没有持续高的要求,使用 PGSQL 是不错的选择。 PGSQL 存储上限更高 如果按照元数据大小估算