自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 588

原创 基于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 350

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

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

2025-12-27 15:18:50 820

原创 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 382

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

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

2025-12-25 16:34:41 1158

原创 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 739

原创 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 200

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

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

2025-12-23 17:48:47 246

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

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

2025-12-23 11:30:51 391

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

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

2025-12-23 11:03:15 453

原创 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 943

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

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

2025-12-22 15:54:23 583

原创 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 339

原创 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 201

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

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

2025-12-15 10:13:41 243

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

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

2025-12-09 09:14:27 820

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

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

2025-12-08 14:57:31 511

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

【代码】k8s常用yaml文件。

2025-12-08 09:06:55 88

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

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

2025-12-06 21:32:44 280

原创 k8s的ETCD故障处理

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

2025-12-06 15:13:07 1072

原创 redis的备份和恢复

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

2025-10-28 10:55:31 701

原创 Kafka 概念与部署手册

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

2025-10-21 21:46:01 714

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

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

2025-10-17 17:22:30 577

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

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

2025-10-16 09:51:41 368

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

升级harbor镜像仓库

2025-07-21 21:19:32 555

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

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

2025-05-06 17:03:48 1074

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

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

2024-12-10 20:27:50 377

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

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

2024-12-04 10:26:20 1006

原创 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 1137

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

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

2024-12-03 17:38:13 869

原创 rocylinux9.4安装prometheus监控

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

2024-11-28 11:43:42 642

原创 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 738

原创 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 983 2

原创 公司内部docker搭建openvpn实现远程VPN访问(实测)

客户端系统环境:Windows。3.启动openvpn服务。二.openVPN环境安装。1.获取openvpn镜像。3.初始化服务器端证书。根据下面的脚本进行创建。

2024-06-21 16:59:45 4137

原创 linux服务器的LVM动态扩容时提示physical volumes missing

公司数据库服务器磁盘空间不足,通过LVM动态扩容磁盘卷,提示physical volumes missing。磁盘/dev/sde和/dev/sdb的Attr属性值的m已经不存在,恢复正常,可以正常针对lv进行处理了。通过vgextend --restoremissing centos /dev/sde即可恢复。发现有/dev/sdb 和/dev/sde的Attr的值是a-m,磁盘missing。通过以上确认物理磁盘没有问题,只是LVM的VG认为磁盘丢失。1.登录到服务器,通过pvs查看磁盘。

2024-06-21 16:58:36 520

原创 nginx根据二级目录转发服务以及带/和不带/的区别

nginx根据二级目录转发服务以及带/和不带/的区别

2024-04-16 17:20:07 4347

原创 Nginx 代理 和负载均衡WebSocket 应用

nginx反向代理websocket应用配置

2024-04-11 11:01:53 1159

原创 kubernetes集群报 unable to load bootstrap kubeconfig处置思路

k8s 集群出现问题:"unable to load bootstrap kubeconfig的处理办法

2024-03-22 15:03:33 3722 1

原创 ansible使用linefile批量修改网卡配置文件及host解析

ansible批量修改网卡及host解析文件

2024-03-08 09:18:46 1189

原创 oracle linux7.9(centos7.9)安装nvidia GPU显卡驱动

安装GPU显卡驱动

2024-03-07 09:41:44 1908

MYSQL数据库安装及主从配置

MYSQL数据库安装及主从配置

2024-06-21

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

terraform

2022-05-27

基于kubernnetes的Jenkins自动构建发布

基于kubernnetes的Jenkins自动构建发布

2022-05-27

空空如也

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

TA关注的人

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