- 博客(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标准库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
原创 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
golang实现mysql实例存活检查及全量备份是否完成检查工具开发
2024-10-23
centos7-x86-64架构下以rpm包形式安装mysql-5.7.42版本
2024-08-24
ansible-playbook安装minio
2024-08-15
minio-RELEASE2030518-x86-64.rpm 自行构建的RPM安装包
2024-08-15
利用golang-Consul代码实现微服务的Prometheus监控目标的注册以及动态发现与配置最新版包含consul注销服务
2024-08-09
利用golang-Consul代码实现微服务的Prometheus监控目标的注册以及动态发现与配置
2024-06-23
MySQL-5.7全量备份-golang脚本
2024-06-21
linux x86-64操作系统docker-1.19版本安装包,适用于服务器无法通外网,下载即可使用
2024-01-07
graylog-sidecar部署脚本
2023-11-11
graylog-server安装脚本
2023-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人