自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 资源 (2)
  • 收藏
  • 关注

原创 MongoDB 三节点副本集离线部署运维手册

ExecStop=/opt/mongodb/bin/mongod --shutdown -f /opt/mongodb/mongod.conf # 停止命令。ExecStart=/opt/mongodb/bin/mongod -f /opt/mongodb/mongod.conf # 启动命令。{_id: 1, host: "10.20.12.208:27017", priority: 1}, // 从节点,优先级1。echo "MongoDB 启动完成!

2026-04-20 08:58:33 454

原创 MongoDB 三节点高可用副本集部署与运维全手册

mongodb

2026-03-11 10:28:56 340

原创 Elasticsearch 超大日志流量集群搭建(网关 + 独立 Master + 独立 Data 纯生产架构,角色完全分离,百万级日志吞吐)

由于业务的场景是超大日志的收集和分析,日志采集 / 日志分析 / ELK 海量日志链路,特点是:写入吞吐量极高、日志存储量巨大、查询聚合频繁,对ES集群的稳定性、写入性能、存储扩展性要求极致。日志场景是,如果 Master / 网关 / Data 角色混部,会出现日志写入的高 IO / 高 CPU 会抢占 Master 节点的资源 → Master 节点心跳超时、集群元数据处理卡顿,引发集群状态异常、分片分配失败、脑裂 等致命问题;,写入吞吐量能提升 3~5 倍,是支撑「大日志流量」的唯一正确选择。

2026-01-16 15:17:30 728

原创 Elasticsearch 介绍及集群部署

Elasticsearch(简称 ES)天生就是为集群设计的,单机无意义,ES 单机模式性能差、无高可用、存储容量有限,生产环境中必须部署集群。1.核心基础概念2.索引相关核心概念user_indexlog_index_doc3.节点角色相关概念ES7.x 开始废除了旧的节点类型,采用「」的方式,一个节点可以配置单角色 / 多角色,生产环境建议「角色分离」部署,各司其职,提升集群稳定性,核心角色如下4.集群核心状态。

2026-01-16 14:34:01 1180

原创 域名到期未续费影响域名解析,通过脚本进行检测并触发告警

检查域名是否到期的脚本如下,并实现企业微信机器人告警,主要是实现是通过whios检查域名是否到期,如到期或者不足30天,即触发企业微信告警。

2026-01-15 15:56:07 119

原创 prometheus通过VMware_explorter监控VMware虚拟化集群

数据中心目前部署了两台VMware集群,存在exsi5.0,exsi5.5、exsi6.0和exsi6.7以及exsi7.0等多个版本,使用现有prometheus监控系统监控VMware集群的运行状态并实现告警。具体实现如下ESXi 与 vCenter 的指标,通过vmware_exporter采集指标数据统一纳入到Prometheus,前端由 Grafana 呈现,告警统一通过alertmanager实现告警信息发送到企业微信告警群。

2026-01-14 09:33:37 980

原创 Linux内核参数调优实战

传统的内存页是4KB,对于大内存应用(数据库、JVM)来说,页表会非常大,TLB(Translation Lookaside Buffer)命中率低。的核心目标是提升网络吞吐量、降低延迟、优化连接复用能力,同时避免因内核参数配置不当引发的丢包、连接超时等问题。inotify限制:需要监控大量文件变化的应用(如日志收集、文件同步)可能需要调整inotify限制。调优目标是减少不必要的I/O、提高I/O效率。的可落地调优方案,结合运维中常见的 K8s、Redis、etcd 等服务的网络需求。

2026-01-09 15:52:20 1224

原创 k8s的etcd的一键备份和故障恢复

现有的2套kubernete环境是基于官方开源工具kubeadm部署的kubernete版本,容器运行时是docker,有3master+56worker节点规模。核心组件:etcd 集群(与 Master 节点共部署,3 节点高可用架构)、kube-apiserver、kube-controller-manager、kube-scheduler 等。K8s集群突然崩了,etcd数据丢了一半,etcd是K8s的“数据大脑”,所有集群资源(Pod、Service、ConfigMap)、状态信息都存在这里。

2026-01-08 09:25:54 983

原创 基于prometheus监控redis集群和rabbitmq集群

以下是针对实际生产环境部署prometheus、alertmanager、grafana+black_explorer、node_explorer和redis_explorer等监控组件实现监控主机,端口探测,redis集群、rabbitMQ集群,并通过alertmanager实现企业微信告警的功能,能够快速发现监控问题,及时介入处理。导入node_explorer,redis,rabbitmq等模版,可通过官网搜索导入,以下是导入的截图。conf.d/node.yaml,单独放的监控主机的配置。

2025-12-30 11:17:54 440

原创 kubernetes安装traefik Gateway API,应对Ingress NGINX停止维护

将在停止维护,之后不会再有新 bug 修复或安全补丁。这次官方宣布停止维护Ingress NGINX主要原因还是因为,还有一个原因是大量 NGINX 自定义配置、各种注解(annotations)、自定义模板,使得开发者几乎“被锁定”在老旧架构中。“停止维护”并不等于服务立即停止或失效:目前系统继续运行不会因为公告立即宕掉。但风险增加:未来若有新漏洞或安全事件,使用者将无法获得官方补丁,自行承担风险。所以短期内还可以继续使用,后期就需要考虑替代品了。

2025-12-27 15:18:50 1056

原创 redis8.0三主三从集群基于prometheus+grafana监控

现在管理的redis集群是有3套,其中2套是3主3从,1套是5主5从,redis版本是8.0.22,目前业务反馈偶发慢的问题,为了时刻监控redis集群的运行状态,考虑基于现有的prometheus+grafana集群监控redis集群运行状态,并实现redis集群异常告警。分配替换配置文件中的redis的地址以及为exporter地址及端口,特别注意为exporter地址及端口要和redis_exporter进程的配置对应。-redis.password "1234565" redis的口令。

2025-12-26 23:22:44 475

原创 kubeadm安装的k8s集群涉及etcd数据库的参数优化

一.问题原因搭建正常运行好几年的基于kubeadm安装的kubernetes集群,针对etcd数据库路陆续出现以下问题etcd io经常报延迟过高, 会有leader频繁切换的情况执行命令发现延迟高, 延迟100-200ms以上, 已经换了ssd,还是100ms左右或以上;etcd集群运行直接挂掉了(晚上半夜12点),集中式存储关掉了写缓存,造成存储IO性能下降75%,etcd集群频繁重启进而造成数据库文件文件坏了,自动恢复不了的问题二.问题分析。

2025-12-25 16:34:41 1238

原创 k8s集群容器创建报failed to write 10087 to cgroup.procs处理

批量修改的backup=yes 会在修改前生成 .bak 后缀的备份文件,若修改出错可通过 cp /var/lib/kubelet/config.yaml.bak-$date /var/lib/kubelet/config.yaml 恢复,恢复后再重启kubelet即可。但由于出现问题的Pod的比较多,在前期未完全定位原因的情况下的临时缓解措施。),让 Deployment 重建 Pod,就绪探针的问题应该会解决。经检查发现在/var/lib/kubelet/config配置的。

2025-12-25 10:02:32 819

原创 Ingress NGINX将彻底停止维护,研究和验证kubernetes安装traefik ingress,替换原来的nginx-ingress

DaemonSet 模式可让 Traefik 运行在每个节点,通过 HostPort 暴露 80/443 端口(如果nginx-ingress已经使用这些端口,修改进行替换其他端口),适合生产环境。现有环境的k8s集群的ingress集群,原来使用的是nginx-ingress,现在想替换为traefik ingress,以下是实施步骤。Traefik 需要访问 K8s API 来监听 Ingress、Service 等资源,创建。1.首先梳理现有 Nginx-Ingress 的关键信息,避免冲突。

2025-12-24 22:08:14 399

原创 通过ansible分发免密公钥、清理不再使用的公钥及验证公钥状态

ansible使用authorized_key模块分发ansible控制机上的ssh公钥,文件是/root/.ssh/id_rsa.pub 公钥,分发到远端节点的。,可通过先添加新的,在移除老的,具体如下。4.节点组的公钥状态,看是否添加或者删除。实现批量清理特定免密登录权限的目的。

2025-12-23 17:48:47 308

原创 kubernetes的etcd数据库的二进制部署

公司的kubeadm部署的3个master节点的kubernetes集群,其etcd数据库是和master混布。kubernetes集群在运行过程中出现过由于底层存储IO异常造成etcd集群崩溃,进而造成整个集群异常。为了应对再次出现类似问题,研究重新使用二进制新建集群,再恢复数据。

2025-12-23 11:30:51 440

原创 kubeadm部署的kubernetes集群的etcd由默认静态pod改为二级制的etcd集群

一.背景公司的kubeadm部署的3个master节点的kubernetes集群,其etcd数据库是和master混布。kubernetes集群在运行过程中出现过由于底层存储IO异常造成etcd集群崩溃,进而造成整个集群异常。为了应对再次出现类似问题,研究在复用现有kubeadm部署集群时生成的etcd证书,重新使用二进制新建集群。

2025-12-23 11:03:15 512

原创 Kubernetes 的 ServiceAccount、Token 与 Pod 身份认证

ServiceAccount 本身 没有任何权限。权限来自 RBAC 绑定关系,具体赋权可基于RBAC规则对ServiceAccount进行授权。在 Kubernetes 中,Pod 不只是跑业务代码的容器,它还经常需要访问以下对象,Pod 只能使用 ServiceAccount来访问。ServiceAccount → Role / ClusterRole → API 权限。2.新版:Bound ServiceAccount Token(推荐)5.ServiceAccount 与 RBAC 的关系。

2025-12-23 10:25:10 1106

原创 使用acme.sh批量更新多域名的证书

使用acme.sh批量更新多域名的证书,主要是的目的是实现公司k8s集群的对外业务域名实现https的加密访问。

2025-12-22 15:54:23 763

原创 k8s部署metrics-server

k8s部署是 Kubernetes 实现资源监控(如、HPA 自动扩缩容)的核心组件,在部署过程中遇到过以下问题k8s.gcr.io部署步骤如下1.步骤 1:下载官方部署文件(并修改)2.步骤 2:修改关键配置打开3. 添加启动参数(解决证书 / 连接问题)在Deployment的args部分,新增以下参数(关键!4.可选:调整资源限制(根据集群规模)5.部署metrics-server6.验证部署。

2025-12-17 15:42:54 449

原创 k8s部署 nfs-client-provisioner

需提前准备一台 NFS 服务器(如 CentOS/Ubuntu),并创建共享目录.如果有单独的NFS存储,此步骤可忽略。3.1创建命名空间,本次使用的是kube-system命名空间,可忽略。是 Kubernetes 中实现 NFS 动态存储供应的核心方式。3.3部署 nfs-client-provisioner 应用。3.2创建 ServiceAccount 和 RBAC 权限。所有 K8s 节点安装 NFS 客户端(避免挂载失败)3.4创建 StorageClass(存储类)

2025-12-17 15:31:41 262

原创 清理三主三从redis集群的过期key和键值超过10M的key

实现单节点的 Key 筛选与删除(可直接在 Redis 节点执行)在 Redis 三主三从集群中使用 Lua 脚本清理。针对 Redis 三主三从集群,要实现。一.基于shell脚本进行删除。以下是基于shell脚本实现。二.基于lua脚本删除。

2025-12-15 10:13:41 310

原创 基于虚拟化环境下测试虚拟机的磁盘IO

测试k8s集群的master节点的io,主要是应对etcd的IO需求,当虚拟机底层为 SATA SSD 盘时,测试需结合 SATA SSD 的特性(如 IOPS、延迟、吞吐量的典型表现),并针对性优化测试参数以充分发挥 SSD 性能,同时规避虚拟化层的潜在瓶颈。以下是。

2025-12-09 09:14:27 1011

原创 kubeadm安装的三个masterd的k8s的etcd数据库故障,如何通过备份数据进行恢复

当 kubeadm 部署的三 master 节点 K8s 集群中 etcd 数据库发生故障时,需结合 etcd 的备份文件(快照)进行恢复。

2025-12-08 14:57:31 641

原创 k8s常用的集群管理服务的配置文件

【代码】k8s常用yaml文件。

2025-12-08 09:06:55 129

原创 基于docker安装jenkins+gitlab+harbor

5.Jenkins Pipeline参考。4.部署Jenkins CI/CD引擎。3.部署Harbor镜像仓库。

2025-12-06 21:32:44 325

原创 k8s的ETCD故障处理

在 3 节点 Master 的 etcd 集群(Raft 共识集群)中,数据恢复需区分和(3 节点 etcd 集群需至少 2 个节点达成共识,因此全量恢复需先重置集群再重建)。

2025-12-06 15:13:07 1204

原创 redis的备份和恢复

Redis 提供两种核心持久化方式,备份需基于这两种机制实现。

2025-10-28 10:55:31 898

原创 Kafka 概念与部署手册

Kafka 依赖 ZooKeeper 存储集群元数据(如 Broker 列表、分区副本信息等),需先部署 ZooKeeper 集群。多个消费者组成的组,共同消费一个主题的消息。Kafka 的部署架构是一个分布式系统设计,核心目标是实现高可用、高吞吐量和水平扩展。分区内消息的唯一序号,消费者通过记录 Offset 确定已消费位置,支持消息回溯。向 Kafka 集群发送消息的客户端,可将消息发布到指定的主题(Topic)。从 Kafka 集群读取消息的客户端,通过订阅主题消费消息。分区的备份,用于容错。

2025-10-21 21:46:01 793

原创 linux服务器排查进程CPU使用率高的思路

CPU使用率100%并不代表CPU真正在"工作",wa高的情况下CPU实际是在等待,优化方向完全不同。有些情况下,CPU高占用并非应用代码问题,而是系统级资源瓶颈导致。:单个进程占用的CPU百分比(注意多核服务器可能超过100%):通常是应用程序代码执行导致,如死循环、复杂计算、正则匹配等。• 非自愿切换过多,说明进程/线程数过多,CPU调度压力大。:可能是系统调用过多、网络包处理、进程创建销毁频繁等。:磁盘I/O性能瓶颈,CPU在等待磁盘响应。: 改变过优先级的进程消耗的CPU时间。

2025-10-17 17:22:30 733

原创 Redis集群扩容:新增主从节点加入集群实操

将克隆的两台节点(假设为作为新主节点,

2025-10-16 09:51:41 488

原创 harbor镜像仓库由原来的v2.11.1版本升级到v2.13.1,数据不丢失

升级harbor镜像仓库

2025-07-21 21:19:32 666

原创 使用 OpenSSL 吊销 Kubernetes(k8s)的 kubeconfig 里的用户证书

1. 准备工作 你得有自签名 CA 的私钥(通常是 .key 文件)、CA 证书(通常是 .crt 文件)以及证书吊销列表(CRL)文件。若还没有 CRL 文件,就需要创建一个。

2025-05-06 17:03:48 1120

原创 kubernetes下的etcd备份脚本以及处理etcdserver: mvcc: database space exceeded的脚步整理

kubernetes下的etcd备份脚本以及处理etcdserver: mvcc: database space exceeded的脚步整理

2024-12-10 20:27:50 406

原创 公司时钟服务ntpd和chrony配置

时钟服务器ntp和chrony的配置使用

2024-12-04 10:26:20 1054

原创 k8s的数据库etcd报 etcdserver: mvcc: database space exceeded的处理办法

公司的k8s集群的etcd配置是默认配置,其磁盘配置为2GB的配额,目前出现了数据写入失败的情况,报错Error: etcdserver: mvcc: database space exceeded。以下排查路径涉及到的证书,根据自己的实际情况指定。1.查看etcd的endpoint。

2024-12-03 18:52:14 1244

原创 Kubernetes之污点、容忍度、亲和性

Kubernetes之污点、容忍度、亲和性 优先级

2024-12-03 17:38:13 905

原创 rocylinux9.4安装prometheus监控

具体的软件包如下,其中kubernetes-mixin是下载的监控kubernetes的一些监控规则、dashbaordd等。2.编辑peometheus的启动文件。三.部署Node Exporter。1.安装Node Exporter。四.安装alertmanager。1.promethes软件安装。二.Prometheus配置。

2024-11-28 11:43:42 706

原创 oracle linux源码安装rabbitMQ并部署三节点rabbitmq集群

启动rabbitmq之后会在~/.erlang.cookie或/var/lib/rabbitmq/下生成一个.erlang.cookie隐藏文件,即使你把这个文件给删除了运行rabbitmq-server也会再次生成新的.erlang.cookie。Rabbitmq是现阶段比较常用的一个消息队列服务,是基于erlang语言开放的,需要首先安装erlang,并且rabbitmq和erlang的版本是有关系的。1.基础依赖软件(主要是是编译和erlang安装的时候的一些依赖软件)将erlang写入环境变量。

2024-08-01 15:36:01 790

原创 LVM逻辑卷元数据丢失恢复-数据不丢失

公司一台数据库服务器,断电重启后,发现操作系统启动不了,系统卡在Control-D to continue界面。系统启动过程中有报错,磁盘挂载不上,去掉该磁盘挂载系统可以启动正常。发现异常 mount: special device /dev/mapper/datavg-datalv does not exist。修改/etc/fstab,注释掉 /data的挂载,可正常进入操作系统。通过以上发现没有datavg对应的lvm信息。执行挂载命令,正常挂载,数据也未丢失。2.检查lvm元数据备份。

2024-07-24 17:25:19 1097 2

MYSQL数据库安装及主从配置

MYSQL数据库安装及主从配置

2024-06-21

-provider-vsphere实现通过terraform一键部署VMware虚拟机,无需登录vcenter,实现代码化管理

terraform

2022-05-27

基于kubernnetes的Jenkins自动构建发布

基于kubernnetes的Jenkins自动构建发布

2022-05-27

空空如也

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

TA关注的人

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