- 博客(88)
- 收藏
- 关注
原创 ArgoCD概述
ArgoCD是一款基于GitOps理念的Kubernetes持续交付工具,由CNCF托管。它通过Git仓库作为唯一可信源,实现应用状态与集群状态的自动同步,支持多集群管理和多种配置格式(Helm/Kustomize等)。部署方式包括kubectl快速安装和Helm定制化部署,提供可视化UI和CLI工具。核心功能包括自动化同步、多环境管理、RBAC权限控制,以及同步钩子等高级特性。最佳实践建议将ArgoCD自身配置纳入Git管理,并做好安全防护与监控。该工具显著简化了Kubernetes应用的部署和运维流程。
2025-12-23 18:39:11
1009
原创 GitOps 详解与工具链全解析
GitOps是一种以Git为单一可信源的DevOps实践方法,通过声明式配置文件和自动化工具实现基础设施和应用的版本化、自动化管理。其核心原则包括声明式系统、Git单一可信源、自动化同步、持续验证和审计追溯。相比传统运维,GitOps通过版本控制、PR流程和自动同步显著提高了环境一致性、变更可靠性和协作效率。 典型工具链包括:Git仓库工具(GitLab/GitHub)、声明式配置工具(K8s YAML/Helm/Ansible)、同步工具(ArgoCD/Flux)、CI工具(GitLab CI)和监控工具
2025-12-23 18:19:02
1049
原创 常用Git命令清单
本文提供了Git常用命令速查指南,涵盖代码库创建、配置管理、文件操作、代码提交、分支管理、标签操作、信息查看、远程同步和撤销操作等核心功能。具体包括:初始化仓库(git init)、克隆项目(git clone)、配置用户信息、文件添加/删除(git add/rm)、提交代码(git commit)、分支操作(git branch/checkout)、标签管理(git tag)、查看变更历史(git log/diff)、远程仓库同步(git fetch/pull/push)以及撤销修改(git reset/
2025-12-18 14:39:34
383
原创 DevOps理念
摘要:软件开发生命周期(SDLC)包含多种模型,如瀑布模型、迭代模型和敏捷模型。DevOps作为开发-运维一体化的文化理念,通过自动化流程实现持续集成和部署(CI/CD),提升交付效率和质量。其核心优势在于缩短开发周期、增强团队协作、降低风险。DevOps生命周期涵盖产品全流程,三大原则强调流程优化、持续反馈和学习改进。CI/CD作为DevOps的关键实践,通过自动化构建、测试、发布等环节实现高效交付。随着云原生技术发展,Pipeline模型从Push演进为更安全的Pull模式(GitOps),进一步优化了
2025-12-18 14:24:22
935
原创 K8S-CoreDNS组件
Kubernetes服务发现主要依赖CoreDNS实现内部域名解析。Pod默认使用ClusterFirst策略,通过/etc/resolv.conf配置的DNS服务器解析域名,其中nameserver指向CoreDNS服务IP。域名解析遵循search域规则,自动补全namespace和集群域名后缀。跨namespace访问需指定完整域名格式<service>.<namespace>.svc.cluster.local。CoreDNS通过Corefile配置文件管理解析规则,支持Ku
2025-12-16 14:24:24
701
原创 K8S-网络原理
本文系统介绍了Kubernetes和Docker的网络实现原理。首先分析了K8s网络模型的基本设计原则,即每个Pod拥有独立IP地址且处于扁平网络空间。然后详细阐述了Docker网络模型中的关键技术,包括网络命名空间、Veth设备对、网桥和Iptables/Netfilter机制。文章深入讲解了Linux网络命名空间的实现原理和操作方法,以及Veth设备对如何连接不同命名空间。同时介绍了网桥的工作原理和路由表的使用方法。最后重点讨论了K8s网络实现,包括容器间通信、Pod间通信以及Service的实现机制,
2025-12-15 18:43:11
822
1
原创 K8S-网络概述
本文系统介绍了Kubernetes网络解决方案,重点分析了Calico、Flannel、WeaveNet和Cilium等主流方案的原理与特性。Calico采用纯三层路由设计,基于BGP协议实现高性能通信;Flannel提供简单易用的覆盖网络;WeaveNet支持自动故障恢复;Cilium利用BPF技术实现高级网络功能。文章详细对比了各方案的优缺点及适用场景,并深入解析了VXLAN技术原理。同时介绍了为Pod分配静态IP的多种方法,强调在Kubernetes中应优先使用Service而非静态IP。这些解决方案
2025-12-15 18:25:08
854
原创 K8S-组件介绍
Kubernetes(K8s)是一个开源的容器编排平台,源自Google的Borg系统,现由CNCF基金会维护。它解决了Docker容器管理痛点,提供集群管理、自动伸缩、服务发现等功能。K8s采用Master-Worker架构,包含API Server、Controller Manager等核心组件,通过Pod作为最小调度单位管理容器生命周期。其特性包括自我修复、滚动更新、配置管理、存储编排等,支持声明式部署和跨主机容器编排。K8s已成为容器编排的事实标准,大幅简化了微服务应用的开发和部署流程,官网为kub
2025-12-15 17:59:39
972
原创 K8S-Helm
Helm是Kubernetes的包管理工具,通过Chart打包应用配置,简化Kubernetes应用部署和管理。主要组件包括客户端Helm和服务端Tiller(Helm v2),通过Chart(软件包)、Repository(仓库)和Release(部署实例)实现应用管理。Chart包含预定义Kubernetes资源模板和配置值,支持动态生成部署文件。安装时通过helm install部署应用,支持升级(upgrade)、回滚(rollback)和卸载(uninstall)操作。示例演示了使用Helm部署N
2025-12-14 14:40:57
844
原创 K8S-Pod驱逐
Kubernetes Pod驱逐机制解析与实践案例 摘要:本文分析了Kubernetes的Pod驱逐机制,包括软/硬驱逐阈值设置和基于QoS类别的驱逐策略。当节点资源不足时,kubelet会按BestEffort→Burstable→Guaranteed的顺序驱逐Pod。通过实际案例展示了内存扩容后因kubelet未重启导致内存计算错误引发的Pod驱逐问题,建议建立节点内存与kubelet分配内存的对比监控机制。优化方案包括合理设置资源请求/限制、PriorityClass优先级以及内存差异告警机制。
2025-12-11 15:27:44
866
原创 K8S-中的优先级
Kubernetes中的Pod优先级机制允许通过PriorityClass定义Pod的相对重要性,高优先级Pod可抢占低优先级Pod资源。优先级分为非抢占和抢占两种策略,前者仅影响调度顺序,后者会强制终止低优先级Pod。节点优先级则通过静态注解、亲和性规则、QoS等级和自定义插件实现,用于优化节点选择。QoS分为Guaranteed、Burstable和BestEffort三个等级,决定了资源不足时的Pod终止顺序。实战案例展示了如何为不同硬件节点设置静态优先级、基于区域亲和性调度、按服务质量分配资源以及通
2025-12-11 15:14:36
756
原创 K8S-调度管理
Kubernetes调度策略解析:本文详细介绍了Kubernetes中Pod调度的多种控制方式。主要内容包括:1)节点选择器(nodeName/nodeSelector)实现精准调度;2)Pod亲和性(podAffinity)与反亲和性(podAntiAffinity)的硬性(required)和软性(preferred)调度策略;3)污点(Taints)与容忍(Tolerations)机制,包括NoSchedule、PreferNoSchedule和NoExecute三种效果。文章通过具体YAML配置示例
2025-12-10 18:18:29
568
原创 K8S-特殊容器
摘要: Init容器是Kubernetes中用于初始化工作的特殊容器,在Pod主容器启动前顺序执行。它具有与普通容器不同的特性:必须成功运行完成、可包含安全工具、能延迟主容器启动。典型应用场景包括服务依赖检查和集群配置准备。临时容器(EphemeralContainers)是另一种特殊容器,主要用于调试场景,不保证资源且不可重启,特别适合排查Distroless镜像问题。两者都扩展了Kubernetes容器的功能,但用途和特性各有侧重,Init容器侧重初始化,临时容器侧重故障排查。
2025-12-10 18:08:36
962
原创 K8S-Job & Cronjob
摘要:本文介绍了Kubernetes中的Job和CronJob两种资源类型。Job用于创建一次性任务Pod,支持失败重试、并行执行等特性;CronJob则用于周期性调度Job执行定时任务。文章详细解析了两种资源的YAML配置参数,包括backoffLimit(失败重试次数)、schedule(定时规则)等核心字段,并通过实际演练展示了从创建到查看运行结果的全过程。通过示例演示了如何创建计算π值的Job和每分钟输出日志的CronJob,包括查看Pod生命周期、运行日志等操作步骤,为Kubernetes任务调度
2025-12-08 14:54:04
348
原创 K8S-Ingress资源对象
Kubernetes Ingress 实现服务暴露的两种方式对比 本文介绍了Kubernetes中通过Ingress暴露服务的两种实现方式。相比NodePort和LoadBalancer这两种传统方式,Ingress具有更高效、更灵活的特点。文章详细讲解了Ingress的工作原理,它相当于7层负载均衡器,通过Ingress控制器(如Nginx)实现请求转发。通过实际案例演示了在NodePort和LoadBalancer模式下Ingress的配置方法,包括环境准备、部署过程、验证测试等完整流程。特别说明了Lo
2025-12-07 16:36:34
944
原创 K8S-daemonset控制器
摘要:DaemonSet是Kubernetes控制器,确保集群每个节点运行指定Pod副本,适用于存储、日志收集和监控等场景。与Deployment不同,它每个节点只运行一个副本。资源清单文件包含apiVersion、kind、metadata和spec等字段,spec定义模板、更新策略等。案例展示如何创建运行nginx的DaemonSet,通过selector匹配Pod标签,template定义Pod配置。DaemonSet自动管理Pod生命周期,随节点增减而调整。
2025-12-03 18:40:24
557
原创 K8S-Deployment资源对象
本文介绍了Kubernetes中Deployment的基本概念和应用场景。Deployment为Pod和ReplicaSet提供了声明式管理方法,支持滚动升级、回滚、扩缩容等操作。详细解析了Deployment的YAML配置,包括副本数、滚动更新策略、容器模板、健康检查等核心参数。通过企业应用案例演示了环境准备、扩缩容、滚动更新和回滚等实际操作流程。最后讲解了自定义更新策略的两种设置方式(按数量和按比例)及配置示例。Deployment是Kubernetes管理长期服务的主要方式,通过YAML文件可灵活定义
2025-12-03 18:32:29
516
原创 K8S-namespace资源对象
Kubernetes命名空间(namespace)是一种虚拟集群管理机制,允许在同一个物理集群中隔离不同用户、团队或项目的资源。默认提供kube-system等系统命名空间,用户可创建自定义命名空间。命名空间支持资源配额限制,通过ResourceQuota可设置CPU、内存等资源的请求和限制总量。使用命名空间时需注意:部分资源属于命名空间级别;删除命名空间会级联删除其下所有资源;创建Pod时必须满足所在命名空间的资源配额要求。典型应用场景包括多团队协作、环境隔离等,但对于小型集群可能无需使用命名空间功能。
2025-12-02 14:38:34
241
原创 K8S-Pod资源对象
本文详细介绍了Kubernetes中的Pod概念及其管理机制。Pod是K8S中最小的可部署单元,包含一个或多个共享存储、网络等资源的容器。文章阐述了Pod的创建流程、资源清单配置、标签管理、资源限制设置以及探针检测机制。重点讲解了三种探针(存活、就绪、启动探针)的作用及配置方法,并通过具体案例展示了探针的实际应用。此外,还分析了Pod的常见状态(Pending、Running、Failed等)及其排查方法,提供了常用的Pod操作命令。全文涵盖了Pod从创建到管理的完整生命周期,是K8S中Pod使用的实用指南
2025-12-01 14:15:28
842
原创 Ansible变量
本文介绍了Ansible中的变量类型及使用方式。主要包含全局变量(通过-e参数传递)、剧本变量(定义在playbook中)、资产变量(针对主机或主机组)、Facts变量(自动收集的系统信息)和注册变量(保存任务结果)。重点说明了变量命名规则、各类变量的定义方法以及变量优先级(全局变量>剧本变量>资产变量)。文中通过示例演示了各类变量的实际应用,并展示了如何过滤Facts信息和关闭Facts收集以提高性能。最后通过实验验证了不同变量类型的优先级关系。
2025-11-16 12:49:24
659
原创 Ansible之Playbook简单应用
Ansible Playbook是用于自动化配置管理的YAML格式文件,包含主机列表、任务集、变量等核心元素。它通过模块化任务(如文件操作、软件安装、定时任务等)实现远程主机的预期状态配置。Playbook支持条件判断、错误处理、任务委派等高级功能,并遵循严格的YAML语法规范。执行时可通过ansible-playbook命令运行,支持参数化操作和语法检查。Playbook作为Ansible的核心组件,能够将复杂部署流程组织成可重复执行的自动化剧本,极大提升了IT基础设施的管理效率。
2025-11-13 20:20:27
884
原创 Ansible进行Nginx编译安装的详细步骤
本文介绍了使用Ansible部署Nginx服务器的完整过程。首先配置实验环境,包括安装Ansible、设置主机清单和配置SSH密钥认证。然后详细说明了通过Playbook自动化完成Nginx部署的步骤:下载源码、安装依赖包、解压源码、创建系统用户、编译安装Nginx、配置Systemd服务以及启动服务。整个过程采用模块化设计,确保部署的标准化和可重复性。该方案实现了Nginx服务的一键式自动化部署,适用于批量服务器环境。
2025-11-12 18:10:50
240
原创 Ansible安装与入门
Ansible是一款基于Python开发的自动化运维工具,具有批量系统配置、程序部署和命令执行等功能。其特点包括部署简单(仅需在主控端安装)、基于SSH协议管理、模块化架构和强大的扩展性。Ansible的核心架构包含主机清单、Playbooks剧本、核心模块和自定义模块等组件。工具提供多种执行模式,包括ad-hoc临时命令和playbook剧本编排,并配备丰富的命令行工具集如ansible-playbook、ansible-doc等。安装方式支持yum和pip两种,配置灵活支持多位置查找。
2025-11-12 14:23:21
663
原创 Zabbix监控告警邮箱提醒,钉钉提醒
本文摘要: 介绍了Zabbix监控系统配置邮件和钉钉告警的完整流程。邮件告警部分包括:1)配置网易邮箱开启SMTP服务,2)在服务端安装配置mailx邮件工具,3)编写Zabbix邮件告警脚本并设置权限,4)在Zabbix Web界面配置报警媒介和动作。钉钉告警部分包含:1)配置钉钉机器人Webhook,2)编写Python告警脚本并设置日志记录,3)安装Python requests库,4)在Zabbix Web界面设置钉钉报警媒介类型和动作。两种告警方式最后都进行了测试验证,确保告警功能正常工作。
2025-11-11 18:41:42
965
原创 Zabbix7添加监控主机
本文介绍了使用Zabbix监控系统部署操作系统、网络设备和中间件的配置过程。主要包括:1)Linux和Windows系统监控,涉及Zabbix agent安装配置及服务端主机添加;2)网络设备监控,通过SNMP协议监控Cisco路由器;3)MySQL数据库监控,详细说明了监控脚本部署、权限配置、自定义监控项添加及图形展示等步骤。文章提供了完整的配置命令和测试方法,展示了从客户端到服务端的完整监控实现流程,适用于不同环境下的监控需求。
2025-11-08 19:54:08
377
原创 Rocky9基于MySQL安装Zabbix7
本文详细介绍了Zabbix7监控系统的部署过程。首先准备Rocky Linux和openEuler主机作为服务端和代理节点,配置系统环境并设置安装源。接着安装Zabbix server、Web前端、agent等核心组件,详细说明了各组件功能。然后部署MySQL数据库,创建zabbix数据库并导入初始数据。配置PHP和Nginx后启动服务,通过浏览器访问Web界面完成初始化设置。最后针对中文显示问题,替换默认字体为Windows系统的楷体。整个部署过程涵盖了环境准备、软件安装、数据库配置、服务启动及界面优化等
2025-11-06 15:49:51
980
原创 Elasticsearch+Logstash+Filebeat+Kibana部署
本文介绍了ELK(Elasticsearch、Logstash、Kibana)堆栈的部署方案,包含软件下载地址、集群/单机两种架构规划及具体配置步骤。软件包可从Elastic官网下载,部署前需关闭防火墙并安装Java环境。单机模式下详细说明了elasticsearch、logstash和kibana的配置要点,包括配置文件修改、服务启动及验证方法。其中elasticsearch需开启跨域访问,logstash配置日志输入输出管道,kibana配置服务端口。最后提供了命令行测试和网页验证方法,完成日志收集分析
2025-11-04 20:49:06
721
原创 HAProxy 简介及配置文件详解
HAProxy是一款高性能开源负载均衡器,支持TCP/HTTP层代理,具有高并发处理能力(最大40000-50000并发连接)。其核心特点包括:支持7种负载均衡算法(RR/LC/SH等)、原生SSL和IPv6、健康检查机制、会话保持功能。配置文件分为global全局参数和proxies代理配置,包含frontend/backend/listen等模块。安装方式支持源码编译和yum安装,提供完善的日志管理和状态统计功能。HAProxy通过智能算法分配请求、故障自动切换等机制,有效提升服务可用性,适合高流量网站
2025-11-03 14:14:18
591
原创 LVS-DR模式配置
本文摘要: LVS DR模式负载均衡实现方案通过VIP地址配置实现请求转发。负载均衡器配置包括:禁用ARP重定向、设置虚拟IP、安装ipvsadm模块并配置轮询策略。Web节点需调整ARP参数防止IP冲突,配置环回接口的虚拟IP和路由规则。最后通过curl测试验证配置,确保流量正常转发,实现高可用负载均衡。系统配置步骤详细说明了负载均衡器和Web节点的参数设置及联动机制。
2025-10-31 14:13:11
325
原创 LVS-NAT模式配置
摘要:本文介绍了Linux环境下负载均衡集群的配置方法,包括负载调度器和Web节点的设置。负载调度器部分涉及IP地址配置、IPVS安装、路由转发开启、模块加载以及基于轮询(RR)算法的负载分配策略配置。Web节点部分包含Nginx安装和网络配置。配置完成后可通过Curl命令测试负载均衡效果。整个配置过程涵盖了网络设置、服务安装、策略制定等关键步骤,实现了基本的负载均衡功能。
2025-10-31 14:09:20
337
原创 LVS负载均衡集群理论详解
本文系统介绍了Linux虚拟服务器(LVS)集群技术。主要内容包括:1) 集群概念与类型:详细阐述了负载均衡集群、高可用集群和高性能计算集群的特点及应用场景;2) LVS核心原理:深入分析了NAT、TUN和DR三种工作模式的实现机制及优缺点;3) IPVS模块详解:说明了IPVS在内核空间的工作原理,并提供了完整的ipvsadm命令参考;4) 负载均衡算法:分类介绍了静态(轮询、加权轮询等)和动态(最少连接、加权最少连接等)算法。LVS作为高性能服务器负载均衡解决方案,通过IPVS模块实现流量分发,支持多种
2025-10-30 14:03:23
862
原创 Keepalived双机热备
Keepalived是基于VRRP协议实现的高可用解决方案,主要用于LVS服务的故障转移。它通过主备服务器间的通信检测状态,当主服务器故障时,备用服务器接管虚拟IP继续提供服务。核心功能包括:检测服务器状态(通过TCP、HTTP等协议)、剔除故障节点并自动恢复可用节点。安装配置包括yum安装keepalived和nginx,设置虚拟IP,并通过systemctl管理服务。验证步骤展示主备切换过程。Keepalived支持多层检测机制(Layer3-7)和状态通知脚本,可实现精准故障转移和邮件报警。典型应用场
2025-10-29 11:53:40
588
原创 Redis主从复制
在分布式集群系统中为了解决服务单点故障问题,通常会把数据复制出多个副本部署到不同的机器中,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。。复制也是Redis日常运维的常见维护点。因此深刻理解复制的工作原理与使用技巧对日常的运维非常有帮助。
2025-10-28 19:22:25
1256
原创 Redis数据库基础
Redis是一个高性能的NoSQL内存数据库,支持持久化存储。相比于关系型数据库,Redis采用键值对存储方式,具有高并发、低延迟的特点,适合处理即时性高但一致性要求不高的数据。Redis支持多种数据类型(字符串、列表、哈希等),并提供了丰富的命令操作。部署Redis时需注意内核参数调整、配置文件优化(如绑定IP、端口、密码设置等),并通过systemd管理服务。常用命令包括数据存取(set/get)、键管理(keys/del/ttl)、多数据库切换(select/move)等。此外,redis-bench
2025-10-27 14:13:59
1384
原创 Ceph分布式存储
Ceph是一个开源的分布式存储系统,具有高扩展性、高性能和高可靠性的特点。它支持块存储、文件存储和对象存储三种接口,广泛应用于云平台。本文详细介绍了Ceph的架构、核心组件(如OSD、Monitor、MGR等)以及数据存储过程。通过ceph-deploy工具,可以部署包含mon、osd和mgr的多节点Ceph集群,并配置资源池进行数据管理。最后还展示了客户端如何挂载使用Ceph存储。Ceph采用去中心化设计,通过CRUSH算法实现数据均衡分布,是构建大规模存储系统的理想选择。
2025-10-26 21:48:01
1225
原创 ISCSI存储服务
iSCSI协议是一种将SCSI指令封装在IP网络中传输的存储技术,通过以太网实现存储区域网络(IP-SAN)。文章详细介绍了iSCSI的工作原理、架构(C/S模式)、优势(低成本构建存储网络)及核心概念(Initiator/Target、LUN等)。同时提供了Linux环境下iSCSI服务的配置方法,包括Target端磁盘分配、访问控制设置,以及Initiator端的发现与连接操作。最后简要说明了Windows客户端的连接方式,为构建跨平台存储网络提供了完整指导。
2025-10-24 10:29:37
713
原创 MySQL常见的高可用架构
本文介绍了四种MySQL高可用架构方案。1.基于共享存储的SAN方案,优点是部署简单、数据强一致,但存在存储单点问题且成本高;2.基于磁盘复制的DRBD方案,具有透明切换优势,但写入性能受影响且资源利用率低;3.MHA方案支持自动故障转移和日志修复,但不保证强一致且配置复杂;4.MMM方案稳定性高并可扩展,但需要多台服务器支持。各方案在数据一致性、资源利用率和部署成本等方面各有优劣,需结合实际需求选择。
2025-10-22 14:02:39
795
原创 Python编程之面向对象
本文系统介绍了Python面向对象编程的核心概念与三大特征。主要内容包括:1)面向对象基础概念:类与对象的关系、类的定义与实例化、成员属性与方法、访问控制等;2)三大特征:封装(访问控制与保护)、继承(单继承、多继承及super用法)、多态(相同方法不同表现);3)魔术方法:详细解析了__init__、new、del、__call__等十余种常用魔术方法的触发时机与实现原理;4)实用技巧:单例模式实现、模拟内置函数、对象运算等。文章通过大量代码示例演示了面向对象编程在Python中的实际应用,帮助读者掌握用
2025-10-20 14:32:20
1342
原创 Python编程之常用模块
本文摘要介绍了Python中常用的12个模块: time模块:处理时间戳、格式化和结构化时间 datetime模块:时间加减运算 random模块:生成随机数和随机选择 os模块:与操作系统交互,处理文件路径 sys模块:与解释器交互,实现进度条 json/pickle模块:数据序列化和反序列化 hashlib模块:加密算法实现 shutil模块:高级文件操作 subprocess模块:执行系统命令 shelve/xml模块:数据持久化和XML处理 configparser模块:配置文件处理 logging
2025-10-17 14:15:28
1271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅