自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟运维升级之路

菜就多练,练到????为止!多学习多积累,总有一天会用到的

  • 博客(176)
  • 收藏
  • 关注

原创 【go+react】免费开源的yunshu运维管理平台~求推荐(star)

本文介绍了一个基于 Go + React 的 Kubernetes 运维与项目化告警平台 Yunshu,具备多模块后台管理、双层 K8s 鉴权、项目维度 CMDB、MySQL 备份、CI/CD、告警平台与 K8s 资源管理等功能。平台采用插件化架构,支持编译期功能启停,并通过 Casbin + 集群档位实现精细权限控制。文档详细说明了系统架构、快速部署指南、权限模型、运维手册及功能模块,帮助用户快速上手使用这一企业级 Kubernetes 运维解决方案。

2026-07-01 00:43:01 230

原创 Go泛型学习

Go 泛型学习手册摘要 Go 泛型是类型系统的扩展,解决了「同一逻辑多种类型且类型安全」的问题。核心机制是类型参数+约束(interface),编译期实例化生成具体代码。相比 interface{}方案,泛型提供编译期类型检查,避免运行时断言风险。典型应用包括通用算法、类型安全容器和统一响应结构。泛型设计强调简洁性,复用接口语法,避免复杂元编程。使用时需理解类型参数、约束、波浪号(~)等概念,掌握泛型函数/类型/方法的写法,注意编译期实例化机制和类型推断规则。性能方面,编译生成多份代码可能增大二进制体积,但

2026-06-29 11:23:22 471

原创 client-go四种客户端详解

概念是什么谁定义Go 里常见访问方式内置 APIK8s 自带的资源类型Kubernetes 项目(Clientset强类型用户在集群里声明的新资源类型你安装的 CRD YAML(或 code-gen 后的 typed client)通过聚合层扩展的 API如 metrics-server、自定义 APIService多为 Dynamic / REST内置 API 例子PodServiceNamespaceConfigMapDeploymentReplicaSetJobCronJob。

2026-06-28 18:07:30 197

原创 client-go源码-Watch源码架构详解

List 是。

2026-06-28 18:02:04 497

原创 Go切片学习记录

文章摘要 本文系统介绍了Go语言切片在后端开发中的核心概念与应用。切片作为底层数组的视图,由指针、长度和容量组成,是处理变长集合的关键数据结构。文章详细剖析了切片与数组的区别、底层结构(len/cap机制)、多种创建方式、nil与空切片差异,并通过代码示例和时序图展示了切片在后端请求链路中的流转过程。还涵盖了切片表达式、append扩容、元素操作、函数传参特性、JSON序列化以及并发安全等进阶主题,帮助开发者深入理解切片原理并掌握其高效使用方法。

2026-06-25 14:40:49 336

原创 《企业级前端部署方案:Jenkins+MinIO+SSH+Gitee+Jenkinsfile自动化实践》

企业级前端自动化部署方案摘要 本文介绍基于Jenkins的前端CI/CD自动化部署方案,整合MinIO、SSH、Gitee和Jenkinsfile实现高效部署。方案采用四层架构:Gitee代码仓库、Jenkins调度中心、MinIO制品库和Nginx运行节点,通过共享库(jenkinslib)封装公共流水线逻辑。 核心特性: 支持四种发布模式(自动/手动/仅构建/回滚) 实现SSH四链路打通,确保部署安全 集成MinIO自动清理超额历史包 提供Active Choices动态分支选择 包含完整的排错手册和检

2026-06-25 11:27:57 395

原创 es运维手册

Elasticsearch 运维指南摘要 本文档是针对 Elasticsearch 6.8.x 的生产运维手册,主要内容包括: 核心架构:介绍 ES 的分布式特性、倒排索引原理、分片机制和集群角色划分 数据流原理:详细解析写入流程(索引、translog、refresh/flush)和搜索流程(query-fetch 两阶段) 运维实践: 集群部署注意事项 Search-Guard 安全加固方案 常用 API 操作命令 数据迁移工具 Elasticdump 使用 故障处理:集群状态监控、分片分配问题排查 性

2026-06-24 17:47:50 102

原创 k8s组件以及数据流向

Kubernetes 核心组件与数据流摘要 Kubernetes 集群分为控制平面和工作节点两部分。控制平面包含 API Server(集群操作入口)、etcd(数据存储)、Scheduler(Pod调度)和 Controller Manager(状态协调)。工作节点运行 kubelet(Pod管理)、kube-proxy(流量转发)、容器运行时和网络插件。 关键数据流向: 控制面:用户请求经 API Server 写入 etcd Pod 创建:API Server → Scheduler → kubele

2026-06-24 17:44:50 801

原创 MySQL5.7生产运维手册

MySQL 5.7 生产运维手册摘要 本手册是针对MySQL 5.7的生产环境运维指南,涵盖核心原理到日常运维全流程。主要内容包括: 架构原理:详细解析MySQL逻辑架构、InnoDB核心机制(Buffer Pool、redo/undo log、MVCC)和SQL执行流程 部署配置:提供标准的目录规划方案、安装步骤和初始化安全建议,包含生产环境模板配置 核心运维: 用户权限安全管理 SQL优化与索引策略 事务与锁机制解析 备份恢复方案(含xtrabackup实战) 主从复制与MHA高可用搭建 性能管理:监控

2026-06-24 17:41:53 115

原创 Prometheus笔记

本文档是一份全面的Prometheus生产环境运维监控手册,涵盖从基础架构到高级实践的完整监控体系。主要内容包括: 监控体系架构:详细解析Pull采集模式的核心组件(Prometheus Server、Alertmanager、Telegraf、Blackbox等)及其交互流程,提供生产级架构图和时序图说明。 数据采集全流程:深入讲解Consul服务发现、Blackbox拨测、Pushgateway短任务等关键场景的实现机制,附各组件交互时序图。 告警与可视化体系:说明告警规则设计原则、Alertmanag

2026-06-24 17:34:07 96

原创 Kafka+zk

本文为Kafka生产运维指南,主要内容包括: 基础概念:介绍消息队列核心组件、Kafka架构特性(高吞吐、低延迟、容错性)和核心概念(Topic/Partition/ISR/Offset等)。 集群架构:包含传统ZK协调模式和KRaft模式,图解生产者-消费者-Kafka集群-ZK的交互关系。 核心原理: 写流程:Producer批量发送→Leader写入→ISR同步→确认ACK 读流程:Consumer拉取→Leader零拷贝读取 高性能机制:顺序写、Page Cache、批量压缩、分区并行 运维重点:

2026-06-24 17:16:24 328

原创 NGINX

《NGINX 生产运维手册》摘要 本手册系统介绍了NGINX在生产环境中的核心运维知识,涵盖架构原理到实战操作。主要内容包括: 架构解析:详细说明NGINX的多进程模型、事件驱动机制和Master-Worker协作方式 运维核心:信号管理、配置文件结构、平滑重载机制和命令行工具 关键功能:反向代理规则、负载均衡策略、SSL/TLS配置和HTTP/HTTPS跳转 性能优化:连接管理、缓存配置和静态资源处理 生产保障:日志切割、监控告警、安全加固和高可用方案(Keepalived+VIP) 特殊场景:WebSo

2026-06-24 17:12:31 252

原创 内核参数优化

Linux内核参数(sysctl)运维排障手册摘要 本手册提供Linux内核参数的调优与故障排查指南,适用于各类服务器环境。主要内容包括: 调优原则:强调先定位后调参、临时验证再持久化、按角色差异化配置 核心参数分类:网络连接、内存管理、文件系统、IPC共享内存等 典型场景配置: 高并发Web需调整连接队列(somaxconn/tcp_max_syn_backlog) 短连接服务需优化TIME-WAIT相关参数 内存管理需关注swap/swappiness/OOM策略 操作指南:提供sysctl基础命令、持

2026-06-24 15:42:27 157

原创 grep_sed_awk组合技

本文摘要: 《grep/sed/awk运维文本处理手册》是一份针对运维场景的实用指南,重点介绍三大文本处理工具的核心用法。手册通过对比表格清晰划分工具定位:grep专注搜索过滤,sed擅长行编辑,awk精于列处理与统计。内容涵盖正则表达式基础(BRE/ERE/PCRE)、常用命令选项、生产环境安全实践及典型场景示例,如日志分析、配置筛查和批量修改。特别强调生产环境操作规范,提供组合命令模板和速查表,帮助运维人员高效处理日常文本任务,同时避免误操作风险。手册结构清晰,包含大量即用型代码片段,是运维人员提升CL

2026-06-24 15:26:55 205

原创 LINUX文件压缩、join、sort、uniq、find及xargs组合技

本文是一份 Linux 运维自动化基础工具手册,重点介绍了文件压缩/归档、文本处理和批量操作的核心命令组合。主要内容包括: 文件压缩与归档:对比了 tar/gzip/xz/zstd/zip 等格式的优劣,提供生产级压缩/解压命令示例和安全备份脚本模板 文本处理工具链:sort/uniq/wc/comm 的统计去重技巧,以及 join/paste 实现类似 SQL 的文件关联合并 批量操作组合:find 精确查找文件,与 xargs/-exec 的四种批量处理方式对比,强调处理含空格文件名时的安全参数(-pr

2026-06-24 15:25:35 193

原创 Linux运维排障手册命令

本文是一份Linux生产环境运维排障手册,提供了系统性能排查的标准化流程和工具指南。主要内容包括: 生产排障原则:强调先止损后根因、先留证再操作、关联变更分析等关键原则 工具安装指南:涵盖sysstat、iotop、smem等必备工具的安装配置 命令选用矩阵:根据CPU飙高、内存不足、IO瓶颈等不同场景推荐对应诊断工具 核心指标解读:说明Load、CPU使用率、内存、磁盘IO等关键指标含义 标准化排查流程:提供值班SOP和故障定位的快速决策树 实战案例:包含生产环境中常见的性能问题及解决方案 手册重点介绍了

2026-06-24 15:24:26 281

原创 《企业级K8s容器化部署方案:Jenkins+Harbor+Helm+Gitee+Jenkinsfile自动化实践》

本文档详细介绍了基于Jenkins、Harbor、Helm/kubectl等工具的企业级K8s容器化部署方案。主要内容包括: 架构设计:采用Gitee代码仓库、Jenkins流水线、Harbor镜像仓库、K8s运行环境的完整CI/CD流程,支持kubectl和Helm两种部署路径。 核心功能: 支持自动/手动发布、仅构建和回滚四种发布模式 提供Deployment/DaemonSet/StatefulSet三种工作负载模板 集成SkyWalking链路追踪功能 实现从代码编译、镜像构建到K8s部署的全流程自

2026-06-18 17:22:47 345

原创 《企业级后端部署方案:Jenkins+MinIO+SSH+Gitee+Jenkinsfile自动化实践》

企业级后端自动化部署方案摘要 本文介绍了一套完整的Java后端自动化部署方案,基于Jenkins+MinIO+SSH+Gitee技术栈实现。方案包含: 架构设计:通过Jenkins流水线实现代码编译、制品管理(MinIO)、多机SSH部署和回滚的全流程自动化 核心功能: 支持自动/手动/仅构建/回滚四种发布模式 提供脚本模板和自定义脚本两种启动方式 实现MinIO和服务器双端的制品保留策略 支持Apollo配置中心集成 关键技术: Jenkins共享库实现流程标准化 SSH远程执行部署命令 智能进程管理脚本

2026-06-18 17:21:36 210

原创 【client-go源码学习记录一】调用链精读-从kubeconfig到ListPods

本文通过深入解析client-go源码,从kubeconfig到List Pods的完整调用链,帮助读者理解Kubernetes客户端的工作机制。文章采用分层解析的方式,重点讲解配置加载、连接建立和API调用三个核心阶段。 主要内容包括: client-go的分层架构:从clientcmd到rest.Config再到Clientset的完整流程 关键术语解析:kubeconfig、rest.Config、Clientset等核心概念 详细调用链分析:从BuildConfigFromFlags到List Po

2026-06-15 23:31:52 623

原创 Casbin学习教程

本文是Casbin权限控制框架的Go语言入门教程,主要内容包括: Casbin核心概念和工作原理,包括PERM元模型(Policy、Effect、Request、Matcher)的解析。 模型文件(model.conf)的详细配置说明,涵盖ACL和RBAC两种常见模型的定义方法。 策略文件(policy.csv)的编写规范,展示如何定义用户权限和角色继承关系。 Go语言集成Casbin的快速入门指南,包括环境准备、项目结构和基本使用方法。 生产环境最佳实践建议,指出策略文件仅用于学习测试,实际项目应通过数据

2026-06-15 16:21:53 239

原创 Golang架构目录设计与设计模式教程

Go 项目架构与设计模式摘要 本文为已掌握 Go 基础语法的开发者提供项目架构和设计模式实践指南。主要内容包括: 目录结构设计:介绍了5种常见布局方案,重点推荐按业务域分包的方案,并分析各种布局适用场景。 分层架构:强调分层依赖方向,包含经典四层架构和Clean Architecture实现方式。 设计模式实践:涵盖创建型、结构型和行为型模式在Go中的实现,以及Go特有惯用法。 实用建议: 使用internal目录限制访问 按变化原因而非技术名词分包 避免过度设计 提供反模式警示 学习资源:包含标准项目布局

2026-06-15 16:20:30 387

原创 Gin框架学习记录

Gin 是 Go 语言生态中最受欢迎的轻量级高性能 Web 框架,基于 httprouter 实现,路由采用基数树(Radix Tree)数据结构,提供 Martini-like API 但性能提升 40 倍以上。适合构建 RESTful API 和微服务。零分配路由:极其高效的路由匹配,无堆内存分配中间件支持:可扩展的中间件系统(洋葱模型)Crash-free:内置 Recovery 中间件防止 panic 导致服务崩溃JSON 验证:自动请求/响应 JSON 绑定与验证。

2026-06-08 17:11:03 210

原创 Gorm学习文档

本文档是GORM v2.x的完整学习指南,涵盖从入门到企业级实践的核心内容。首先介绍了ORM概念及GORM的特性与优缺点,随后详细讲解了GORM的安装配置、数据库连接、模型定义、日志管理等基础内容。文档重点剖析了CRUD操作、钩子函数、高级查询、关联关系等核心功能,并深入讲解了事务处理、性能优化等进阶主题。针对企业级开发需求,提供了连接池配置、慢SQL监控、错误处理规范等最佳实践方案,同时包含丰富的代码示例和配置参数说明,帮助开发者快速掌握GORM在MySQL/PostgreSQL/SQLite等数据库中的

2026-06-08 16:20:17 224

原创 Zap日志库实战教程

Zap日志库实战教程摘要 Zap是Uber开源的高性能Go日志库,具有极致性能、结构化日志、JSON格式输出等特点。教程介绍了Zap的安装、两种日志记录器(Logger和SugaredLogger)的使用方法,以及如何自定义配置: 基本使用:通过NewProduction()/NewDevelopment()创建Logger,支持不同日志级别(Debug/Info/Error等) SugaredLogger:提供printf风格的格式化日志记录 自定义配置: 配置Encoder(JSON/普通格式) 设置日

2026-06-08 15:12:56 197

原创 golang_Viper配置管理器

Viper是Go语言中流行的配置管理框架,提供多格式配置文件读取、环境变量绑定、远程配置和热更新等功能。它支持YAML/JSON/TOML等格式,配置优先级从高到低依次为:显式设置→命令行→环境变量→配置文件→远程配置→默认值。Viper还能将修改后的配置写回文件,提供WriteConfig、SafeWriteConfig等方法,支持覆盖或保护已有文件。典型应用包括多环境配置管理、配置结构体映射和实时监控配置变更,是Go项目配置管理的理想选择。

2026-06-08 15:11:53 374

原创 YunShu运维管理平台在线体验地址

云枢运维管理系统正式开源,这是一个基于Go+React开发的企业级Kubernetes运维平台。系统集成了权限管理、项目管理、K8s管控、日志平台和智能告警等功能,提供完整的运维解决方案。项目已在GitHub开源,并设有线上体验环境。开发者可以使用演示账号登录体验,项目团队欢迎技术爱好者Star、Fork、提交Issue和PR参与共建。未来计划接入AI大模型,实现智能诊断和自动化运维能力,持续迭代升级。开源社区期待与开发者共同成长,打造更强大的运维管理系统。

2026-05-13 09:35:46 95

原创 云枢运维管理系统

这篇文章详细介绍了使用Go+React搭建一体化运维平台Yunshu的实战经验。平台整合了权限管理、Kubernetes运维、告警系统和日志管理四大核心功能,采用Go(Gin)+GORM+Casbin后端和React+TS前端技术栈。文章展示了50+页面截图,包括系统管理、权限控制、项目管理、告警平台和K8s可视化等模块,提供了完整的架构设计、功能拆解和实现思路。该项目特别解决了权限与项目系统分离、K8s运维依赖命令行、告警分散等问题,通过统一平台实现了运维工作的闭环管理。作者还分享了项目启动方式和代码仓库

2026-04-21 17:36:38 431

原创 OpenClaw接入QQBot:智能对话新体验

OpenClaw接入QQ机器人实现智能交互 本文介绍了将OpenClaw AI平台接入QQ机器人的完整流程。通过QQ开放平台创建机器人获取AppID和AppSecret后,在OpenClaw中安装QQBot插件并配置认证信息,即可实现QQ私聊和群组的智能对话、自动回复、通知推送等功能。操作步骤包括:1)QQ平台创建机器人;2)OpenClaw安装插件;3)配置绑定机器人;4)重启网关服务。完成部署后,用户可通过QQ直接与AI交互,并通过OpenClaw控制面板管理机器人状态。

2026-03-10 21:16:11 546

原创 【养虾之路】OpenClaw 完全新手指南(麒麟Ky10SP2安装)

本文详细记录了在国产麒麟KY10服务器操作系统上部署OpenClaw并行计算框架的全过程。作为面向高性能计算场景的分布式系统,OpenClaw的安装涉及底层硬件驱动适配、依赖库编译优化及集群网络配置等关键技术环节。麒麟KY10作为基于Linux的国产服务器平台,其安全增强内核与OpenClaw的异构计算架构存在特定的兼容性要求,需通过定制化编译参数解决指令集优化问题。实施过程严格遵循从基础环境准备、源码编译到分布式测试的三阶段验证体系,最终实现了跨

2026-03-10 10:52:02 1278

原创 【K8S集群漏洞扫描】kube-proxy进程所监听的443端口证书过期问题分析与解决

Kubernetes集群443端口SSL证书过期问题排查摘要: 安全扫描发现节点100.80.201.209的443端口SSL证书过期。排查发现kube-proxy监听443端口,但实际使用的是Ingress Controller的默认假证书。检查确认集群核心证书有效至2032年,问题集中在Ingress组件。通过iptables规则分析和证书验证,确认所有443流量被DNAT重定向到Ingress Controller Pod,其使用的"Kubernetes Ingress Controller

2026-01-06 23:52:01 526

原创 MySQL5.7主从延迟高排查优化思路

MySQL主从同步高延迟问题排查与解决 问题描述:基于GTID的MySQL 5.7.32主从环境,出现从库同步延迟高达4784150秒,执行50-100万数据的DELETE语句耗时异常。 排查思路: 检查从库状态和事务,发现存在长时间运行的DELETE大事务 服务器资源监控显示CPU使用正常但磁盘IO异常 使用fio工具测试SSD磁盘性能,发现: 磁盘利用率达99.91%,接近满负荷 读取IOPS 6810,写入IOPS 2665 读取吞吐112MB/s,写入47.9MB/s 解决方案: 优化大事务处理 检

2025-07-28 21:52:55 1130

原创 心情随手记

一个职场人的日常碎碎念:晴空微风中,工作热情持续低迷,疲惫感挥之不去。但当看到自己开发的运维工具被广泛应用时,又涌起一丝欣慰。周四到了,想着要不要来个疯狂套餐。时而幻想化作一片树叶,随风飘零,看尽山河后归于尘土。周末计划去博物馆走走,给生活添点文化气息。

2025-06-19 11:36:31 208

原创 Go 运维巡检系统(opsxj)开发与实践

OpsXJ是一款基于Go语言开发的企业级自动化运维巡检系统,通过配置驱动实现服务器、中间件、K8S集群等多类型资源的健康检查。系统采用Gin框架构建,支持并发巡检、结构化数据存储和可视化报告生成,提供HTML/PDF格式的巡检报告输出。核心功能包括资源阈值监测、应用接口校验、证书域名到期提醒等,并内置趋势分析模块。技术栈整合了Viper配置管理、Zap日志系统和client-go K8S客户端,通过模块化设计实现高效巡检。配置文件支持灵活定制,可关闭特定检查项,解决了传统人工巡检效率低、

2025-06-19 11:23:55 1577

原创 《企业级前端部署方案:Jenkins+MinIO+SSH+Gitee+Jenkinsfile自动化实践》

你是否遇到过Jenkins部署中多服务器同步难、版本回滚复杂的问题?本文基于真实项目经验,揭秘如何通过Groovy脚本实现智能化部署。从环境变量配置到SSH安全通信,从MinIO存储管理到邮件通知整合,手把手带你打造高可用部署流水线。

2025-05-08 23:35:27 1859

原创 基于Jenkins的DevOps工程实践之Jenkins共享库

共享库这并不是一个全新的概念,其实在编程语言Python中,我们可以将Python代码写到一个文件中,当代码数量增加,我们可以将代码打包成模块然后再以import的方式使用此模块中的方法。在Jenkins中使用Groovy语法,共享库中存储的每个文件都是一个groovy的类,每个文件(类)中包含一个或多个方法。每个方法包含groovy语句块。创建共享库,共享库的目的就是将一些反复使用的模块进行封装,比如拉取代码模块,邮件通知模块,这样使得你的Jenkinsfile看起来更加简洁,减少代码量。

2025-05-03 17:49:53 1793 3

原创 基于Jenkins+K8S的微服务CI/CD全链路实践:从代码提交到生产部署、邮件通知

在云原生与微服务架构日益普及的今天,高效的CI/CD流水线已成为企业提升交付效率的核心引擎。本文将分享一套基于Jenkins与Kubernetes深度集成的企业级CI/CD实践方案,通过 动态Slave Pod调度 、 Harbor镜像全生命周期管理 和 参数化多环境部署 三大核心设计,结合Pipeline+Groovy脚本实现从代码提交到生产部署的分钟级自动化流水线。

2025-05-03 17:26:14 1784 2

原创 shell编程基础知识及脚本示例

shell脚本作为运维人员的基操,本博客从实战角度出发,以清晰的结构和通俗的示例,系统梳理 Shell 脚本的核心知识点。内容涵盖从基础变量定义到复杂流程控制,从参数解析到函数封装,最终通过日常脚本示例串联所有技能点。无论你是刚接触 Shell 的新手,还是希望查漏补缺的进阶者,都能在此找到可落地的代码片段和深入浅出的原理剖析。my_name = "AAA" echo $my_name echo ${my_name} #注意 ehco两句效果一样,均为输出变量的值。

2025-04-27 17:34:00 1096

原创 Kubernetes服务自动注册Consul全攻略 - 基于consul-register的实践指南

在云原生架构中,服务发现是微服务治理的关键环节。本文将详细介绍如何通过kube-consul-register实现Kubernetes服务到Consul的自动注册,解决传统手动注册的痛点。多模式注册(Single/Node/Pod模式)注解驱动的灵活配置自动健康检查集成服务状态实时同步这是一个将Kubernetes中的Pod/Service/Endpoint自动注册到Consul服务的工具,实现服务自动发现功能。

2025-04-23 18:14:01 1032

原创 K8S+Prometheus+Consul+alertWebhook实现全链路服务自动发现与监控、告警配置实战

在云原生技术蓬勃发展的今天,Kubernetes(K8S)已成为容器编排领域的事实标准,而监控作为保障系统稳定性和可观测性的核心环节,其重要性不言而喻。Prometheus 凭借其强大的时序数据采集能力和灵活的查询语言(PromQL),成为云原生监控体系的基石。然而,在动态变化的 K8S 环境中,传统静态配置的服务发现方式往往难以适应频繁的服务扩缩容和实例迁移。如何实现监控目标的自动化发现与动态管理,成为提升运维效率的关键挑战。为此,服务发现技术应运而生。

2025-04-13 23:01:10 1501

原创 Kubernetes服务注册到consul流程实践

在云原生架构中,服务注册与发现是微服务架构的核心组件之一。随着Kubernetes成为容器编排的事实标准,如何将传统服务注册中心与Kubernetes原生服务发现机制相结合,成为企业级应用面临的重要课题。本文详细介绍如何利用HashiCorp Consul实现Kubernetes服务的自动注册与发现,通过开发定制化工具解决实际生产环境中的服务治理难题,并结合Prometheus实现监控。

2025-04-13 17:10:16 982

基于Jenkins+K8S的微服务CI/CD全链路实践:从代码提交到生产部署

Jenkins_2.462部分插件

2025-05-03

openssl 1.1.1s RPM安装包

适用于centos7.6 x86_64系统架构

2025-01-06

openssh-9.8p1 RPM安装包

适用于centos7.6 x86_64系统架构

2025-01-06

golang实现mysql实例存活检查及全量备份是否完成检查工具开发

通过golang编写了一个mysql的全量备份工具,经过验证备份工具没有问题,可以正常使用。但是在正式的生产环境中,作为运维的你怎么确认昨天的备份是成功的?最普通的方式是登上服务器手动查看,这种方式在当前的自动化运维中显得有些low了。因为生产环境中避免不了prometheus监控的接入,因此,为了解决手动确认备份成功的问题,并结合Prometheus实现备份检查告警,通过golang的cobra命令行框架编写一个备份检查工具脚本和mysql实例存活探测脚本来实现。Cobra 的命令行工具 cobra-cli 进一步提高了编写命令行程序的效率,非常推荐使用它来实现命令行工具的开发,可以加快开发速度。在我们日常开发中,编写命令行程序是必不可少,很多开源软件都具备强大的命令行工具,如 K8s、Docker、Git 等。一款复杂的命令行程序通常有上百种使用组合,所以如何组织和编写出好用的命令行程序是很考验开发者功底的,而 Cobra 则为我们开发命令行程序提供了足够的便利。Cobra 功能非常强大,要使用它来编写命令行程序首先要明白三个概念:命令、参数和标志。最后,Cobra的命令行工具

2024-10-23

centos7-x86-64架构下以rpm包形式安装mysql-5.7.42版本

因为公司现有环境使用的mysql版本为mysql-5.7.32版本,比较落后,最近客户的几次漏扫总会扫出相应的mysql漏洞,在客户的强烈要求下必须要对mysql进行版本升级操作,但是直接从5.7升至8.0版本不太现实,因为两者不仅在配置文件及语法上有差异,同时功能上也有不同,而且客户侧也没有特别熟悉8.0版本的DBA,因此,接着使用5.7大版本,小版本跟客户协商确认后使用5.7.42版本。为了保证能在现有环境中5.7.42顺利运行并且功能能正常使用,先在测试环境选用一台机器对5.7.42-boost.tar.gz源码包进行编译构建、安装调试测试性能。这个rpm包是我纯手工结合mysql源码包进行的构建,并在自己本地环境已测试可以使用。通过rpmbuild构建mysql,不仅熟练了rpmbuild的使用,更了解了源码安装mysql的过程,加深了印象。同时在构建过程中也有遇到不同的问题,但是都通过搜索查询一一解决,如果在构建过程中有遇到问题的小伙伴可以私信留言我们一起探讨解决,因为作为运维的角度出发,rpmbuild编译构建是必备的一项技能,很考验对中间件源码部署过程的考验,如果你不清楚

2024-08-24

ansible-playbook安装minio

首先该安装包支持安装minio单节点、集群,并且已在x86_64架构的服务器上验证。主要以rpmbuild构建好的rpm包为源文件展开playbook的部署过程。在playbook中使用yum、copy、pre_task、register、debug、shell、file、when、判断hosts列表中的ip数量、set_fact等低中高各样式的ansible模块。完成该playbook的编写,也极大的提高了对ansible的掌握能力。首先,查看本文章前先阅读一下顶部的两篇文章,因为本篇文章主要依赖于ansible-playbook和通过rpmbuild构建好的minio安装包进行编写的,如果需要用我构建好的minioRPM包,可以在该地址自行下载(`https://download.csdn.net/download/weixin_50902636/89642252`)。同时,写该篇文章不仅是为了加深playbook的使用,更是为了交付团队更好的交付。使得客户安装部署更加简洁明了,维护中间件更加方便

2024-08-15

minio-RELEASE2030518-x86-64.rpm 自行构建的RPM安装包

其实,在生产环境中安装部署minio单点或者集群非常容易,只需要在官网下载对应的二进制minio程序文件,然后配置账密启动即可,但这个过程不太优雅。从一个交付运维团队的角度出发,不管是提供的中间件安装包还是服务部署包,都肯定是要以繁化简,做到极致的封装来实现自己简单且维护性高的交付安装包,让客户能快速上手运维。因此本篇文章就针对常用的中间件minio进行一次x86_64架构服务器下的RPM包构建,其中封装进去了自己写的minio的启停脚本及数据目录的维护等过程.

2024-08-15

利用golang-Consul代码实现微服务的Prometheus监控目标的注册以及动态发现与配置最新版包含consul注销服务

在实际产生环境中主要以prometheus监控为主,在使用该监控时,有个很大的问题时,需要手动修改Prometheus.yml文件,将监控指标手动添加进去,当监控指标少的时候,维护和添加都很方便,但是当一套环境中监控指标多大几百个,添加工作繁琐,这时你会想到写个shell脚本,对多个监控指标进行添加,但是你有没有考虑过此时的prometheus.yaml文件的可维护性以及当添加的监控指标越来越多时,prometheus主机的cpu、内存也随之增长,这时你该怎么处理呢? 写这个代码的原因有两个,其一就是我刚开始所说的维护prometheus.yml文件的成本越来越高,且服务器资源日益不足;其二刚才最近在学习golang,也借此机会提高一下golang的基础语法知识以及标准库的使用方法。因此才有此代码的诞生.主要给大家一个思路,像代码中的consul标签处理部分也仅适用于我司,如果要想看源码.见本博客下载即可。同时该资源支持从conusl中注销已注册的服务

2024-08-09

利用golang-Consul代码实现微服务的Prometheus监控目标的注册以及动态发现与配置

在实际产生环境中主要以prometheus监控为主,在使用该监控时,有个很大的问题时,需要手动修改Prometheus.yml文件,将监控指标手动添加进去,当监控指标少的时候,维护和添加都很方便,但是当一套环境中监控指标多大几百个,添加工作繁琐,这时你会想到写个shell脚本,对多个监控指标进行添加,但是你有没有考虑过此时的prometheus.yaml文件的可维护性以及当添加的监控指标越来越多时,prometheus主机的cpu、内存也随之增长,这时你该怎么处理呢? 写这个代码的原因有两个,其一就是我刚开始所说的维护prometheus.yml文件的成本越来越高,且服务器资源日益不足;其二刚才最近在学习golang,也借此机会提高一下golang的基础语法知识以及标准库的使用方法。因此才有此代码的诞生.主要给大家一个思路,像代码中的consul标签处理部分也仅适用于我司,如果要想看源码.见本博客下载即可。

2024-06-23

MySQL-5.7全量备份-golang脚本

数据库备份与恢复是数据库管理中最重要的方面之一。如果数据库崩溃后却没有办法恢复,那么对企业造成的毁灭性结果可能会是数据丢失、收入减少、客户不满等。不管公司是使用单个数据库还是多个数据库来存储数百 GB 或 TB 的数据,它们都有一个共同点,即需要有一个备份与恢复方案或脚本来备份重要数据并使自身免于灾难。 以下脚本主要用于全量备份,已验证MySQL-5.7版本可正常使用。 数据库备份一般有逻辑备份与物理备份: 逻辑备份包含使用 mysqldump 命令导出并存储在二进制文件/SQL文件中的数据,只能还原至备份的时间点,例如mysqldump,操作过程中会锁表。 物理备份是物理数据库文件的副本,可以利用全备份加增量binlog备份还原至任意时间点,例如xtrabackup,操作过程中不会锁表。 主要有有以下优点: 1.备份速度快,且可靠 2.备份过程中不会打断正在执行的事务 3.能够基于压缩等功能节约磁盘空间和流量 4.自动备份校验 5.备份还原的速度更快 6.可以使用流备,将备份传输到另一台机器

2024-06-21

linux x86-64操作系统docker-1.19版本安装包,适用于服务器无法通外网,下载即可使用

linux x86_64操作系统docker-1.19版本安装包,适用于服务器无法通外网,下载上传到服务器后,解压执行包中的install.sh脚本,即可完成离线安装

2024-01-07

graylog-server安装脚本

该安装脚本是由ansible-playbook所编写的,将本地的rpm保存在file目录下,然后创建hosts文件,添加对应的graylog服务器组,执行ansible--playbook -i hosts graylog.yml即可完成部署。该部署脚本已上生产环境使用,且效率和复用率很高,你只需要将rpm包替换为你自己下载的graylog包,执行上述命令即可完成安装,单节点、集群都可以完成部署。记得创建hosts文件中的服务器组

2023-11-11

graylog-sidecar部署脚本

该脚本是由shell语言编写完成,主要用于实现一键部署graylog-sidecar组件,其中包含了组件的cgroup限制、sidecar.yml文件的自动修改、开源组件的自动下载、完成部署时的提示及部署时长显示。并设置了该组件的systemctl管理方式、开机自启动,防止因宕机造成sidecar不可用,导致服务日志采集失败的现象问题。 下载该脚本后可根据自身环境的服务器大小,来动态调整cgroup资源限制,使得该组件能以更优的方式运行。不会发生抢占系统资源现象。

2023-11-11

elasticsearch数据备份工具之elasticdump

elasticsearch数据备份工具之elasticdump

2023-11-04

es安全加密认证之生成证书工具

es的search-guard安全加密认证之生成证书工具

2023-11-04

es插件之es-head插件

es插件之es-head插件,适用于浏览器安装并查看es相关分片及索引等

2023-11-04

elasticsearch集群安全加密插件之search-guard

elasticsearch集群安全加密插件之search-guard

2023-11-04

es插件之文件抽取插件ingest-attachment

es插件之文件抽取插件ingest-attachment

2023-11-04

es插件之ik分词器插件(适用于es6.8版本)

es插件之ik分词器插件(适用于es6.8版本)

2023-11-04

es插件之中文拼音插件(适用于es6.8版本)

es插件之中文拼音插件(适用于es6.8版本)

2023-11-04

Ansible的RPM包

适用于x86_64架构 纯内网安装ansible

2023-11-02

空空如也

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

TA关注的人

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