自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟运维升级之路

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

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

原创 k8s中通过coredns的rewrite插件实现将外部请求重定向到内部服务

CoreDNS 是 Kubernetes 集群中的 DNS 服务,它提供了非常强大的 DNS 配置功能 , 支持对 DNS 请求进行各种操作,例如转发、重写、负载均衡等。在 CoreDNS 的众多插件中,rewrite 插件可以用于修改 DNS 请求中的域名,使其转发到不同的目标。rewrite 插件通过修改域名的方式,实现对请求的路由改变。

2025-03-15 06:15:00 297

原创 k8s之CoreDNS取经之路

在 Kubernetes 集群中,CoreDNS 是一个关键的基础组件,负责域名解析和服务发现。无论是内部服务通信还是访问外部域名,CoreDNS 都为我们提供了高效、灵活的支持。本文将通俗易懂地介绍 CoreDNS 的作用、工作流程,并通过一些常见的配置案例帮助你更好地理解它的功能DNS架构二、coredns基础知识1.作用2.支持的策略(dnsPolicy)策略名称含义None用于想要自定义 DNS 配置的场景,而且需要和 dnsConfig 配合一起使用De

2025-03-15 06:00:00 764

原创 严格把控K8S集群中的操作权限,为普通用户生成特定的kubeconfig文件

使用并维护过K8S的ops/sre都知道,kubeconfig对于k8s的访问是非常重要。无论是部署,调试还是运维,都需要kubeconfig文件。在通过二进制或者kubeadm方式部署完一套集群后,会在/root/.kube/目录下产生一个config文件,这个文件就是集群的管理文件,如果直接给将该文件给到其他人员肯定不合适,因为管理员的kubeconfig可以干任何事情,注意是任何事情。包括删除节点等高危操作。因此,就涉及到了k8s集群的权限管理。

2025-03-12 23:14:41 769

原创 深入解析K8s VolumeMounts中的subPath字段及其应用

在Kubernetes中,挂载存储卷是容器化应用的常见需求。然而当我们将整个卷挂载到容器中的某个目录时,可能会覆盖目标目录中已有的文件,尤其是在共享目录或有多个应用访问同一卷的场景下。为了避免这种情况,subPath字段应运而生,它允许精确指定要挂载的子目录或文件,从而避免覆盖目录中其他重要数据。在这篇文章中,我们将深入探讨subPath字段的使用方法,展示如何通过这一功能实现精准挂载,确保不干扰或覆盖目录中的其他文件。

2025-03-10 23:24:46 587

原创 Kubernetes ConfigMap在envFrom变量、env/valueFrom与Volume挂载中的热更新测试与实践

ConfigMap是Kubernetes中一个关键的配置管理资源,它使得配置文件和参数的管理与容器化应用解耦,从而实现配置的动态调整与应用的无缝更新。通过ConfigMap,开发者可以将配置数据存储在Kubernetes集群中,供应用在运行时访问和使用。在实际应用中,ConfigMap的更新常常是不可避免的,而如何保证这些更新能够快速且无缝地反映到应用中,成为了一个关键问题。特别是在Env变量和Volume挂载的场景中,ConfigMap的热更新机制是否能够顺利应用,直接影响到系统的稳定性与灵活性。

2025-03-10 14:06:56 830

原创 Redis安装及常用配置文件示例

在生产环境中,许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。Redis是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web等应用的速度、 提高可扩展性。提示:以下是本篇文章正文内容,下面案例可供参考redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key - Value数据库,即NoSQL。

2025-03-07 17:59:35 744

原创 Harbor配置镜像漏洞扫描器Trivy并配置离线扫描

在第一次真正接触并了解trivy工具是源自于前几周的CKS考试题目,通过参加该考试后,对k8s集群环境的安全更加注重,尤其是当镜像包含一些漏洞,我们需要在部署到环境前判断出是否存在高危漏洞,保护业务不受影响。因此为了在发布镜像前解决掉漏洞,所以将trivy集成到harbor中。Harbor 在生产环境中常用于企业级容器镜像仓库,提供可靠的镜像管理功能。而 Trivy则是一款高效的开源安全扫描工具,主要用于检测和报告镜像中的安全漏洞,可以将漏洞分为不同的等级。Harbor 集成Trivy工具,可以让企业能够在

2025-03-06 16:03:17 795

原创 KVM常用操作命令示例

相比KVM虚拟机冷迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机热迁移无需拷贝虚拟磁盘文件,但是需要迁移到的宿主机之间需要有相同的目录结构虚拟机磁盘文件,也就是共享存储,可以通过熟悉的nfs来实现,当然也可以采用Glusterfs等分布式文件系统来实现.

2025-03-04 08:00:00 681

原创 麒麟V10-SP2-x86_64架构系统下通过KVM创建虚拟机及配置虚机的NAT、Bridge两种网络模式全过程

说通俗一点,自己的windows笔记本为一台物理机,然后你想在你这个windows上运行多个操作系统,并且每个操作系统之间互不干扰,那么就可以采取虚拟化技术,将你的windows机器虚拟为多个逻辑计算机。这个过程就可以称为为虚拟化KVM 是 Kernel - based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术 , 通过 intel VT - x 和 AMD - V 等 CPU 虚拟化指集的支持,将虚拟化性能提升到接近原生性能。它使用 Linux 内核的虚拟化模块,

2025-03-03 18:41:09 663

原创 Kafka+zk

kafka是一个分布式的基于发布/订阅模式的消息队列系统;是一个开源的分布式事件流平台,通过⾼性能TCP ⽹络协议进⾏通信的 服务器和 客户端组成,基于zookeeper协调的分布式日志系统。它适合离线和在线消费消息。kafka消息保留在磁盘上,并且在集群内复制防止数据丢失。发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。

2025-03-03 16:40:58 1163

原创 Linux性能监控工具汇总

在现代 IT 环境中,运维人员扮演着确保服务器稳定性和性能的关键角色。面对复杂的系统架构和不断变化的负载需求,如何有效监控服务器的各项性能指标成为我们日常工作的重中之重。磁盘读写速度、I/O 活动、CPU 使用率、内存消耗、网络流量及系统负载等,都是影响服务器健康状态的重要参数。幸运的是,Linux 提供了一系列强大而实用的工具,如 vmstat、sar、iostat 和 tsar,它们不仅能够实时监测这些关键指标,还能帮助我们深入洞察系统的运行细节,快速定位和解决潜在问题。

2025-02-20 21:34:14 1490

原创 golang基于gin框架的脚手架开发

【代码】golang基于gin框架的脚手架开发。

2025-01-20 11:31:57 398

原创 golang标准库path/filepath使用示例

path/filepath包是一个非常重要的工具包,它提供了一系列函数用于操作和处理文件路径。在实际运维工具开发中肯定会涉及构建文件路径、解析路径中的各个部分、还是遍历目录树、读取文件等操作,path/filepath包都提供了便捷的方法来实现这些功能。参考文档:https://pkg.go.dev/path/filepath//如果路径为空字符串,Base返回.//相当于获取目录下的子文件或子目录import("fmt"//Dir函数返回路径中除去最后一个元素的部分,即路径的目录部分。

2025-01-18 14:38:05 734

原创 golang标准库os/exec使用方法示例

在自定义运维工具开发过程中,有时候为了降低代码复杂度,能用shell脚本或linux命令实现的,我们尽量选择此方式然后通过代码去调用执行,那么os/exec这个系统库刚好提供了相应的功能。它提供了一组函数和结构,用于调用外部程序,这些外部程序可以是系统自带的,也可以是用户自定义的。并且包中提供了一组函数,用于执行系统命令,我们可以使用它来执行系统的cmd命令行。

2025-01-18 14:22:44 710

原创 正则表达式基础知识及grep、sed、awk常用命令

正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。可以在文本中查找、替换、提取和验证特定的模式以及在日常脚本编写中也是不可缺少的一部分。因此本篇文章主要以正则表达式的基础使用和三剑客命令的使用做出一次分享.[ root@localhost ~ ] # sed -i '$a\new-line' 文件有不正确的地方请指正,后续随时补充更新!!!

2025-01-16 15:42:46 1285

原创 Graylog采集MySQL慢日志实战

在完整的日志系统中,数据库的慢日志是采集中必不可少的一部分,当数据库开启mysql慢日志记录时,研发人员可以通过graylog-sidecar采集到的慢日志进行查看分析,更好的优化mysql语句,提高效率。

2025-01-15 18:12:51 2853

原创 Kubernetes1.28 编译 kubeadm修改证书有效期到 100年.并更新k8s集群证书

kubeadm 默认证书为一年,一年过期后会导致 api service 不可用,使用过程中会出现:x509: certificate has expired or is not yet valid.错误。为了防止过期后未及时替换证书的情况出现,建议在部署k8s集群前就编译好100年的kubeadm组件,避免后续重复替换证书步骤已经测试适用于1.28版本,编译机器是麒麟V10 SP2 x86_64架构。

2025-01-13 18:36:16 1067

原创 基于国产麒麟操作系统,通过Kubeadm离线部署Kubernetes 1.28版本

由于这是TO/G项目,当前环境中广泛使用的是CentOS 7操作系统。根据最新出台的相关政策要求,必须对现有的CentOS 7系统进行替换。甲方首选的操作系统为国产麒麟操作系统,这一决策不仅符合政策规定,也有助于推进信息技术领域的自主可控和国产化替代。因为也是首次使用麒麟操作系统。因节前适配机器无法申请,只能先在本地vmware中进行k8s1.28适配工作本篇文章主要以离线部署为主,没有过多的介绍每个roles目录下编写的剧本文件,如果您需要该安装包及部署包讲解,请私信我一一为你解答。

2025-01-13 14:32:27 1024

原创 OpenSSH 9.8p1 rpm包构建与升级

紧接openssl升级完成后直接开整,必须先完成openssl升级再来这个页面学习第一步与openssl一致,可以直接跳过。

2025-01-06 22:47:30 1543

原创 Openssl1.1.1s rpm包构建与升级

2025年第一个漏洞登场,系统中目前在使用的是OpenSSH_7.4p1, OpenSSL 1.0.2k-fips,然后就收到了漏扫团队的邮件,说该版本的openssh存在Openssh存在远程代码执行漏洞(CVE-2024-6387),因此需要升级到7.9版本及以上。在2024年8月份也写过一篇通过二进制方式升级openssh的文章,也就是顶部的第二篇文章,但是过程比较繁琐。本次将使用rpmbuild的知识,将源码包构建为RPM包形式,实现一键部署升级,提高效率。

2025-01-06 21:40:43 1184

原创 graylog配置日志关键字邮件Email告警

在TO/B、TO/C项目的告警链路中,端口告警、服务器基础资源告警、接口告警等不同类型的告警都扮演着重要角色。这些告警能够帮助团队及时发现潜在的系统问题,保障项目的平稳运行。然而,除了这些硬件和基础设施层面的告警外,日志告警同样是不可或缺的关键组成部分,尤其在重要业务项目中,日志告警的重要性不容忽视。日志告警不仅能反映出系统运行中的细节问题,如异常的请求、性能瓶颈或错误操作,还能帮助发现一些潜在的安全隐患或业务流程中的异常。

2025-01-05 11:51:29 673

原创 graylog+sidecar通过docker-compose部署并采集SSH登录日志

本篇文章以采集ssh登录日志为例,结合docker、docker-compose对graylog+sidecar采集日志系统的搭建部署、日志采集流程、配置方法做一个详细的介绍,相比于ELK,graylog日志平台在国内比较冷门.能用的知识比较少,只有一个官网博客.但是我维护的项目中实际用的是graylog,对比ELK比较轻量且维护性强。话不多说,开始展示.正则玩的好的话,用graylog会轻松很多的!!

2025-01-03 22:20:53 817

原创 golang标准库archive/tar实现打包压缩及解压

这个包就是将文件进行打包和解包,通俗理解就是Linux 下的 tar 命令。主要是通过 tar.Reader 读取 tar 包,通过 tar.Writer 写入 tar包,在写入的过程中再设置一下头,详细的过程以示例的方式进行展示,可以查看代码里面的注释。标准库 tar 中文文档。

2024-12-30 10:33:16 584

原创 golang标准库SSH操作示例

SSH 全称为 Secure Shell,是一种用于安全地远程登录到网络上的其他计算机的网络协议。相信做运维的同学没有不了解 SSH的,比较常用的登录服务器的 shell 工具例如 Xshell、SecureCRT、iTerm2 等都是基于 SSH 协议实现的。Golang 中的的 crypto/ssh 库提供了实现 SSH 客户端的功能,本文接下来详细讲解下如何使用 Golang 实现操作 SSH 客户端,为后续运维开发的道路上使用golang编写脚本先夯实一下基础以上就是SSH标准库自己整理的知识,

2024-12-26 22:46:15 1222

原创 服务器审计日志备份python脚本开发

在项目验收阶段反馈服务器未开启审计日志以及该日志没有做备份处理,不满足等保要求,必须整改。前提是客户不愿意购买第三方审计系统,同时对服务器资源也非常限制,在此种情况下,三方会谈后确认将所有服务器的审计日志备份到当前环境的跳板机服务器中,保留30天,超过30天则删除最早的那一次备份。在此种情况下进行备份脚本的开发,其实shell也可以简单实现,为了加强python语法,因此该脚本功能使用python开发实现二、脚本开发1.脚本示例2.执行示例2.1.2.2.2.5.

2024-12-17 23:07:27 922 1

原创 CKS轻松拿下

年末即将收尾!!

2024-12-17 08:20:58 215 16

原创 Harbor_2.6.3版本之Swagger接口泄露漏洞处理

早晨收到项目安全同事邮件,内容是当前项目的harbor镜像仓库存在swagger接口泄露漏洞,可能会导致SQL注入、命令执行等漏洞风险,需要立即修复。因此才有这篇灌水文章。

2024-12-13 15:40:56 510

原创 Helm3快速入门指南

随着应用增多,需要维护大量的yaml文件,不能根据一套yaml文件来创建多个环境,需要手动修改.helm是k8s的包管理工具,主要用来管理helm中的各种chart包,可以方便的发现、共享和构建k8s应用。相当于centos中的yum工具,可以将服务相关的所有资源信息整合到一个chart包中,并且可以使用一套资源发布到多个环境中可以将应用程序的所有资源和部署信息组合到单个部署包中.相关组件:Chart: 一个整合后的chart包,包含一个应用所有的k8s声明模板,类似于yum的rpm包。

2024-12-12 10:50:48 1692

原创 【CKS最新模拟真题】手动静态安全分析Dockerfile和yaml文件

发布工程团队已与您共享了一些 YAML 清单和 Dockerfile 供您查看。/opt/course/22/files 下。1、作为容器安全专家,您需要执行手动静态分析,并找出与不需要的凭证泄露有关的可能安全问题。在此任务中,以 root 身份运行进程无关紧要。将有问题的文件名写入cks8930节点的 /opt/course/22/security-issues上。在以下位置解决此问题:ssh cks8930。

2024-12-10 09:00:00 530

原创 【CKS最新模拟真题】配置准入控制器ImagePolicyWebhook策略

Team White 创建了一个 ImagePolicyWebhook 解决方案/opt/course/23/webhook ,需要为集群cks4024启用该解决方案。在 path /etc/kubernetes/webhook/admission-config.yaml中使用 AdmissionConfiguration。挂载 于 /opt/course/23/webhook/etc/kubernetes/webhook。kube-apiserver启用控制器。

2024-12-10 08:00:00 608

原创 【CKS最新模拟真题】 使用trivy工具进行镜像漏洞扫描

将所有不包含漏洞CVE-2020-10878、CVE-2020-1967的镜像像写入cks8930节点的/opt/course/21/good-images 文件上。漏洞扫描程序 trivy安装在您的主终端上。使用它来扫描以下映像以查找已知的 CVE。在以下位置解决此问题:ssh cks8930。

2024-12-09 13:00:00 417

原创 【CKS最新模拟真题】更新 Kubernetes

1、集群正在运行 Kubernetes 1.30.5,请将其更新为 1.31.1。为此,请使用 .apt package manager 和 kubeadm。在以下位置解决此问题:ssh cks8930。使用 ssh 连接到 worker 节点。

2024-12-09 11:00:00 637

原创 【CKS最新模拟真题】根文件系统配置为只读

Namespace team-purple中的 Deployment immutable-deployment应该运行不可变,它是从cks7262节点上的/opt/course/19/immutable-deployment.yaml 文件创建的。即使在成功闯入后,攻击者也应该不可能修改正在运行的容器的文件系统。将更新的 YAML 保存在cks7262下/opt/course/19/immutable-deployment-new.yaml 并更新正在运行的 Deployment。

2024-12-09 10:00:00 454

原创 【CKS最新模拟真题】SBOM 系列

在 cks8930 扫描现有的 SPDX-Json SBOM /opt/course/18/sbom_check.json以查找已知漏洞。在 cks8930以 Json 格式保存结果 /opt/course/18/sbom_check_result.json。存放于 /opt/course/18/sbom1.jsoncks8930。存放于 /opt/course/18/sbom2.jsoncks8930。在以下位置解决此问题:ssh cks8930。2、使用 :trivy。3、使用 :trivy。

2024-12-09 09:45:00 603

原创 【CKS最新模拟真题】audit日志审核策略配置

更改策略后,请确保清空日志文件,以便它仅包含根据您的更改的条目,例如使用 .echo > /etc/kubernetes/audit/logs/audit.log。已在cks3477集群中启用审核日志记录,其审核策略位于/etc/kubernetes/audit/policy.yaml。从 “system:nodes” userGroups 中,级别 RequestResponse。在以下位置解决此问题:ssh cks3477。1、更改配置,以便仅存储日志的一个备份。

2024-12-09 08:30:00 896

原创 【CKS最新模拟真题】在Ingress中配置 TLS认证

在 Namespace team-pink中,有一个名为secure 的现有 Nginx Ingress 资源 ,它接受两条路径 ,并 指向不同的 ClusterIP 服务/app、/api。HTTPS 的 URL:curl -kv https://secure-ingress.test:31443/app。HTTP协议:curl -v http://secure-ingress.test:31080/app。

2024-12-09 08:15:00 571

原创 【CKS最新模拟真题】Syscall 系统调用活动

命名空间team-yellow 中有 Pod。一项安全调查注意到,在这些 Pod 中运行的某些进程 正在使用 Syscall ,这是 Team Yellow 的内部策略所禁止的。您可以使用ssh 从cks7262节点连接到 两个Worker 节点。例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。1、找到有问题的 Pod,并通过将父 Deployment 的副本减少到 0 来删除它们。在以下位置解决此问题:ssh cks7262。

2024-12-09 08:00:00 450

原创 【CKS最新模拟真题】NetworkPolicy限制对元数据服务器的访问

有一个元数据服务可用http://192.168.100.21:32000, 节点可以通过该服务访问敏感数据,例如用于初始化的云凭证。默认情况下,集群中的所有 Pod 也可以访问此终端节点。创建一个 名为metadata-deny 的 NetworkPolicy,该策略可以防止该空间下所有 Pod 访问元数据地址 egress to 192.168.100.21 ,但仍然允许访问其他所有内容。目标 Namespace 中存在现有的 Pod,您可以使用这些 Pod 来测试您的策略,但不要更改它们的标签。

2024-12-08 21:00:00 694

原创 【CKS最新模拟真题】Dockerfile修改

命名空间 team-blue中有一个 Deployment image-verify,它运行 image registry.killer.sh:5000/image-verify:v1。不要向 Dockerfile 添加任何新行,只需编辑现有行。1、将您的版本标记为 .您可以使用以下方法构建、标记和推送:v2。最后Deployment 使用更新的映像标记 v2。在以下位置解决此问题:ssh cks7262。以用户身份运行主进程myuser。

2024-12-08 17:31:35 692

原创 【CKS最新模拟真题】黑客秘密--获取secrets值

1、尝试查找 Secrets restricted 的 password-key 值, 并在 Namespace restricted@infra-prod中使用 context secret1 secret2 secret3。2、在cks3477中,将解码后的纯文本值写入 files /opt/course/12/secret1、/opt/course/12/secret2、/opt/course/12/secret3。系统会要求您使用预定义的上下文调查可能的权限转义。restricted。

2024-12-08 16:11:33 979

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.youkuaiyun.com/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-sidecar部署脚本

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

2023-11-11

graylog-server安装脚本

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

2023-11-11

elasticsearch数据备份工具之elasticdump

elasticsearch数据备份工具之elasticdump

2023-11-04

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

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

2023-11-04

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

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

2023-11-04

es插件之es-head插件

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

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关注的人

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