- 博客(68)
- 收藏
- 关注
原创 部署 Zabbix 企业级分布式监控
登录 Web,点击 “仪表盘”→“创建仪表盘”;填写名称(如 “生产核心监控”),点击 “添加”;点击 “添加小部件”,选择需要的组件:图形:选择监控项的趋势图(如 “CPU 使用率”);状态指示:显示主机 / 服务状态(如 “数据库是否在线”);数据聚合:展示业务指标(如 “今日下单总量”);调整布局后点击 “保存”。
2025-07-21 16:25:22
879
原创 Kubernetes 日志收集
工具组合核心组件优势劣势适用场景ELK日志处理能力强,生态成熟资源消耗高,配置复杂非 Kubernetes 环境,需复杂日志清洗EFK轻量,适配控制台日志不支持文件日志纯云原生应用(仅输出控制台日志)轻量,支持文件 / 控制台日志需手动设计架构混合日志场景(既有控制台也有文件日志)Loki超轻量,部署简单,成本低不支持全文索引中小规模集群,对成本敏感场景很多传统应用会将日志写入容器内的文件(如),这类日志无法被 EFK 直接采集。
2025-07-17 08:42:23
558
原创 Kubernetes 资源管理
ResourceQuota 与其他 Kubernetes 资源一样,通过 YAML 文件定义。以下是一个典型的 ResourceQuota 配置及参数说明:yamlmetadata:name: resource-test # 资源配额名称namespace: prod # 作用的命名空间(若不指定,默认作用于当前命名空间)labels:spec:hard: # 硬限制(无法突破的上限)pods: "50" # 最多创建50个Pod。
2025-07-16 11:22:51
903
原创 Kubernetes 高级调度 01
除 CPU 和内存外,HPA 还支持基于自定义指标(如请求数、队列长度)进行扩缩容,需结合 Prometheus 等监控系统实现。
2025-07-11 12:19:25
1160
原创 Kubernetes存储入门
在 Kubernetes 中,Volume(卷)是一个抽象层,用于为 Pod 中的容器提供持久化存储空间。从本质上讲,Volume 被挂载到容器后,表现为一个目录,容器可以像操作本地文件系统一样对其进行读写操作。与容器内部的临时磁盘不同,Volume 的生命周期与 Pod 绑定 —— 当 Pod 被删除时,Volume 才会被清理(特殊类型的 Volume 除外),而容器的重启不会影响 Volume 中的数据。数据持久化:避免容器重启或崩溃导致的数据丢失跨容器共享。
2025-07-09 11:11:37
740
原创 Kubernetes配置管理
在现代应用开发的进程中,配置管理扮演着至关重要的角色。无论是数据库的连接信息、中间件的地址,还是其他服务的接口配置,应用程序的启动与稳定运行都高度依赖这些配置信息。回顾传统的配置管理方式,配置文件往往被存储在本地服务器或者代码仓库中。这种方式在单体应用和固定部署环境下或许能勉强应对,但随着云原生架构的普及,尤其是 Kubernetes 的广泛应用,传统配置管理方式的弊端逐渐显现。在 Kubernetes 集群中,容器的部署具有动态性,容器所在的节点并不固定。
2025-07-08 11:44:03
615
原创 Kubernetes服务发布进阶
在 Kubernetes 中,服务暴露是集群与外部世界通信的关键环节。Kubernetes 提供了多种服务暴露的方式,其中 Ingress 作为一种灵活且强大的解决方案,逐渐成为生产环境中的首选。Ingress 不仅能够通过域名的方式访问集群内部的应用,还提供了负载均衡、SSL 终结、基于名称的虚拟主机等高级功能。与传统的 LoadBalancer 和 NodePort 相比,Ingress 更加适合复杂的微服务架构,尤其是在需要管理大量服务和域名的场景下1。
2025-07-07 14:50:56
780
原创 Kubernetes服务发布基础
Service是 Kubernetes 中一种抽象的资源对象,其核心作用是将一组具有相同功能的 Pod 封装为一个统一的服务单元,并为其提供稳定的网络访问入口。负载均衡:将客户端请求均匀分发到后端多个 Pod 实例服务发现:为动态变化的 Pod 提供静态的访问地址服务暴露:支持集群内外的服务访问需求流量管理:通过端口映射、协议转换等机制管理通信流量。
2025-07-07 14:22:02
1001
原创 kubernetes pod调度基础
Replication Controller 和 ReplicaSetRC用来确保Pod副本数达到期望值,这样可以确保一个或多七个同类Pod总是可用的如果存在的Pod数量大于设定的值,Replication Controller将终止额外的Pod,如果太少,Replication Controller将会启动更多的Pod用于保证达到期望值,与手动创建Pod不同的是,用Replication Controller维护的Pod在失败、删除或终止时会自动替换。
2025-07-01 20:32:40
1046
原创 Kubernetes pod深度解析
在 Kubernetes 中,Phase是 Pod 的状态字段,用于描述 Pod 在其生命周期中的整体阶段。它反映了 Pod 当前的运行状态,是故障排查和系统监控的重要依据。探针(Probe)是 Kubernetes 中用于检测容器健康状态的机制,通过定期执行检查来决定容器是否正常运行,确保应用始终处于可用状态。
2025-06-30 15:22:40
960
原创 容器技术技术入门与Docker环境部署
Docker核心解决的问题是利用容器来实现类似虚拟机的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源因此,Docker容器除了运行其中的应用之外,基本不消耗额外的的系统资源,在保证应用性能的同时,又减小了系统开销,使得一台主机上同时运行数千个Docker容器成为可能。容器技术的优势主要体现在以下几个方面:隔离性:不同的容器之间相互隔离,一个容器的故障或异常不会影响响其他容器的运行,提高了应用的稳定性和安全性。因为Docker轻便、快速的特性,可以使应用达到快速选代的的目的。开启Docker服务。
2025-06-20 15:24:33
812
原创 OpenStack入门体验
一、OpenStack 的定义与定位OpenStack是一个开源的云计算管理平台,旨在通过软件定义的方式统一管理数据中心的计算、存储、网络等资源,实现基础设施即服务(IaaS)的自动化部署与管理。它由社区驱动开发,支持大规模集群的弹性扩展,被广泛应用于企业私有云、公有云和混合云场景。二、发展历程与社区生态起源(2010 年):由 Rackspace 和 NASA 联合发起,首个版本 “Austin” 发布,核心功能聚焦计算资源管理(Nova)和对象存储(Swift)。快速迭代。
2025-06-19 12:07:18
1016
原创 部署KVM虚拟化平台
需要注意的是,Qemu本身并不是KVM的一部分,Qemu是一套完整的虚拟化解决方案,是纯软件实现虚拟化,包括处理器虚拟化、内存虚拟化以及各种虚拟设备的模拟,但因为是纯软件模拟出来的,所以Qemu的性能比较低。如果需要IIO则进入到用户模式,由Qemu来处理1/0,处理完成后进入内核模式,再进入客户模式,工作原理如图1.3所示。式和用户模式的两种执行模式基础上新增加了客户模式,客户模式也拥有自己的内核模式和用户模式。客户模式:可以简单理解成客户机在操作系统运行中的模式,客户模式又分为内核模式和用户模式。
2025-06-16 15:01:50
1034
原创 Elk日志分析系统
比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对时应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,可以定义任意多的索引。在这个索引中,你可以为用户数据定义一个类型,为博客数据定义另一个类型,当然,也可以为评论数据定义另一个类型。至于一个分片怎样分布,它的文档怎样聚合回搜索请求,是完全由Elasticsearch管理的,对于作为用户的你来说,这些都是透暖明的。
2025-06-13 20:25:35
1667
原创 FastDFS分布式存储
FastDFS架构Tracker server跟踪服务器,主要做调度工作,起到均衡的作用:负责管理所有的Storage server和group每个storage在启动后会连接Tracker,告知自己所属group等信息,并保持周期性心跳。tracker上的元信息都是由storage汇报的信息生成的,本身不需要持久化任何数据,这样使得tracker非常容易扩展,直接增加tracker机器即可扩展为trackercluster来服务,
2025-06-12 14:50:20
664
原创 GFS分布式文件系统
一旦元数据服务器出现故障,即使节点具备再高的冗余性,整个。条带复制卷和分布式条带复制卷,这七种卷可以满足不同应用对高性能、高可用的需求。自动修复功能能够把数据恢复到正确的状态,数据的修复是以增量的方式在后台执行,分布式条带卷兼顾分布式卷和条带卷的功能,主要用于大文件访问处理,创建一个分布。的核心,在存储数据方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数。支持七种卷,即分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、分布式复制卷兼顾分布式卷和复制卷的功能,主要用于需要冗余的情况下。
2025-06-11 15:07:38
1120
原创 什么是MongoDB
CRUD操作:创建(Create)、读取(Read)、更新(Update)、删除(Delete)操作。对内嵌对象和数组的查询。数据更新:利用 update()命令,MongoDB能够替换整个文档或更新指定的数据字段,MapReduce批量处理:MongoDB的MapReduce功能专为大规模数据处理和聚合操作设计,通过Map函数的emit(key,value)nCommandGridFS大文件存储:GridFS是MongoDB内置的功能,用于存储和检索大于BSON文档大小限制的文件,如图片和视频。
2025-06-10 15:24:19
1285
原创 NoSQL之Redis集群
需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平平扩展,据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。据均匀地分布在多个节点上,提高了系统的并发处理能力:副本几制则保证了数据的可靠性,即使发生节点故障,也能够继续提供服务。个从节点,主节点负责处理读写操作,而从节点则复制主节点的数据。节点的话,搭建一个redis集群总共需要6个节点,即3个master节点,3个slave节点。redis集群没有统一的入口,客户端连接集群的时候,连接集群中的任意节点即可。
2025-06-09 14:57:09
1067
原创 Redis哨兵模式
哨兵(Sentinel),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。,最基础的通用哨兵哨兵最基础架构由两部分组成,包括哨兵节点和数据节点。其中,哨兵节点是特殊的Redis节点,并不存储数据,出于高可用方面考虑,哨兵架构中通常都是多个哨兵节点共同提供服务。到其他从节点关掉主节点之后,等待一会时间,再次在sentine101上查看哨兵系统状态将会发现,原来的主节点进行了切换。:当关联资源的流量超过阈值时,限流当前资源(如保护支付接口时,关联订单查询接口的流量)。
2025-06-06 19:01:21
1561
原创 NoSQL之Redis配置与优化
支持丰富的数据类型,不仅仅支持简单的key-value类型的数据,还支持Strings,Lists,Hashes,Sets及Ordered Sets等数据类型操作。工作量是非常庞大的。操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件AOF持久化以日志的形式记录服务器所处理的每一个写、册删除操作,查询操。kl的数据,在其它1-15的数据库上是无法查看到的。Redis首先考虑的不是回收最旧的数据,而是在最近最少使用的key或即将过期的key中随机选择一个key,从数据中删除。
2025-06-05 15:25:35
811
原创 kafka消息队列
Kafka使用了全局唯一的数字来指代每个Broker服务器,不不同的Broker必须使用不同的BrokerID进行注册,创建完节点后,每个Broker就会将自己的IP。其中,[broker_id-partition_id]就是一个消息分区的标识,节点内容就是该消息分区上消费者的ConsumerID。其中,Broker创建的节点类型是临时节点,一旦Broker岩机,则对应的临时节点也会被自动删除。消费者节点,例如/consumers/[group_id]/ids/[consumer_id],完成节点创建。
2025-06-04 14:34:41
1011
原创 LVS负载均衡
tomcat-users.xml:manager-gui管理用户配置文件(Tomcat安装后提供一个manager-gui的管理界面,通过配置文件可以开启访问)web.xml: Tomcat,server-mapping,filter,MIME等相关配置。Java的跨平台性。<Host>、<Context>、</Context>、</Host>、</Engine>、</Service>和</Server>server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的。
2025-06-03 17:50:26
856
原创 lvs负载均衡群集
HTTP请求通过URL访问网站使用的协议是HTTP协议,此类请求-一般称为HTTP请求。HTTP请求的方式分为GET方式和POST方式。当使用浏览器访问某一个URL,会根据请求URL返回状态码,通常正常的状态码为2XX、3××(如200301),如果出现异常会返回4××、5××(如400、500)例如,访问http://www.test.com/a.php?Id=123,就是一个GE?请求,如果访问正常,会从服务器的日志中获取200状态码。假如此请求使用POST方。
2025-06-02 15:46:40
1248
原创 LVS+Keepalived高可用群集
在执行主、备服务器故障切换的过程中,分别观察各自的/var/log/messages志文件,可以看到MASTER、SLAVE状态的迁移记录。1主服务器中,Keepalived服务状态先变为"stop",移除VIP地址,恢复后重新变为MASTER。优先级(priority):数值越大则取得VIP控制权的优先级越高,因此主服务器的优先级应设为最高:其他备用服务器的优先级可依次递减,但不要相同,在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,三台以上的节点服务器。
2025-05-30 08:59:55
1621
原创 LVS负载均衡群集
Real Server的网关不允许指向 Director ServerIP,即不允许数据包经过 Director Server。Director Server的MAC地址,修改目标 MAC地址为1Real Server的MAC地。(1)客户端发送请求到Director Server,请求的数据报文(源IP是CIP,目标。(4)到达Real Server的请求报文的 MAC 地址是自身的为MAC地址,就接收此。LVS-DR模式,Director Server作为群集的访问入口,不作为网关使用,
2025-05-28 14:51:24
1423
原创 LVS负载均衡群集
加权最少连接(Weighted Least Connections):在服务器节点的性能差异较大的情况下,调度器可以根据节点服务器负载自动调整又重,权重较高的节点将承担更大比例的活动连接负载。当需要将同一个目录共享给不同的客户机,且分配不同的又限时,只要以空格分隔指定多个"客户机(权限选项)"即可。上述输出结果中,Forward列下的Masq对应Masq 对应Masquerade(地址伪装),表示。备,或者提供NFS(Network FileSystem,网络文件系统)共享服务的专用服。
2025-05-27 14:17:25
570
原创 python网络编程
有序性:数据包的接收顺序由TCP保证,接收方会按序号将数据重新组装在实际应用中,TCP适合于那些对数据的可靠性和顺序性有严格要求的场景,例如文件传输、电子邮件等。Socket是网络通信的基础,是实现网络编程的抽象层。UDP(User Datagram Protocol,用户数据报协议)是一种无连接的协议,它的主要特点是简单、快速,但不保证数据的可靠性和顺序。协议类型:Python的Socket模块支持两种主要的协议类型:SOCK_STREAM表示TCP协议,SOCK_DGRAM表示UDP协议。
2025-05-26 11:49:00
956
原创 python操作mysql数据库
MySQL支持四种事务隔离级别,它们定义了在并发事务执行时一个事务的操作对于其他事务的影响隔离级别的设置越高,事务间的干扰越小,但同时可能导致性能下降。READ UNCOMMITTED:允许脏读,最低的隔离级别,性能最好,但但容易出现数据不一致的情况。性能提升:连接池减少了每次数据库操作时创建新连接的开销,提高高了数据库操作的效率资源管理:连接池能够限制最大连接数,避免因过多的数据库连接导致数据库过载。应用场景:对于需要保证事务数据一致性的场景,例如金融系统中的余额操作等,可以考虑使用该隔离级别。
2025-05-24 11:51:12
950
原创 初始Flask框架
Flask应用的开发环境通常使用Flaskrun启动,但在生产不境中,我们需要通过更强大的Web服务器进行部署,常见的有:Gunicorn:一个Python WSGIHTTP服务器,常用于生产环境部署。Flask可以通过表单来获取用户输入,常见的做法是结合Flask-WTF扩展来简化表单处理和验证。Flask的应用结构非常简单,只需创建一个Python文件,并通过Flask()类来实例化应用对象。Flask(_name_):创建Flask应用实例,_name_参数用于Flask了解当前模块的名称,通。
2025-05-23 19:21:52
893
原创 python实现web请求与响应
2.except块:Timeout:如果请求超时(超过设置的5秒),程序会捕获到Timeout异常,并打印"Requesttimed out"HTTPError:如果响应的状态码表明出现HTTP错误(例如404表示未找到页面),程序会捕获到HTTPError异常,并打印相关错误信息。如果文件不存在,会创建新文件。readlines()方法会一次性读取文件中的所有行,并将每行数据存储为一个列表的元素,适用于需要读取整个文件并进行行处理的情况。打开文件时,我们需要指定文件模式(即操作文件的方式)。
2025-05-22 19:36:31
1088
原创 postgreSQL日常维护
登录数据库Pgsql登录时,必须使用postgres用户,登录后的命令提示符为"postgres=#"postgres表示你当前所在的库方法一在PostgreSQL的交互式终端psql中,"\"开头的命令称为元命令(类似MySQL的SHOW语句),用于快速管理数据库方法二的输出比\l多了Size,Tablespace和Description列+:扩展输出,显示更多字段或详细信息方法三使用SQL语句。
2025-05-21 18:42:41
1199
原创 安装PostgresSQL
数据库的oid和表的oid分别存放在pg_database,pg_class表中。逻辑上的对象编号,schema是依附于数据库而存在的。个User,每个Database以及Database中的所有对象都有它们的所有者:User。pg_default中,另一个是pg_global,存放的是整个实例数故据库所共享的系统表。数据库对象:这里包含了table,index,view,序列,函数等,数据最终存储。号的四字节整数,相关对象的oid都存放在相关的systemcatalog表中,比如。
2025-05-20 13:44:59
1184
原创 mysql故障排查与生产环境优化
mysql单实例故障排查故障现象1问题分析:以上这种情况一般都是数据库未启动、mysql配置文件未指定socket文件或者数据库端口被防火墙拦截导致解决方法:启动数据库或者防火墙开放数据库监听端口。故障现象2解决方法修改my.cnf主配置文件,在[mysqld]下添加skipo-grant-tables=on,重启数据库。最后修改密码命令如下。再删除刚刚添加的skip-grant-tables参数,重启数据库库,使用新密码即可登录。重新授权,命令如下。故障现象3。
2025-05-19 18:46:12
1212
原创 Mysql高可用
关闭keepalivedl后,keepalived检测到主节点离线,VIP192. 168.10.100。关闭masterl后,因为masterl、master2通过haproxy负载均衡,masterl。关闭后,haproxy检测其状态异常,会从负载中移除,不进行流量转发,依然可。的流量分发,具备健康检查、SSL终止、会话保持等功能,)广泛应用于Web服。服务器健康状态,当主节点故障时自动将流量切换至备用节点,确保服务不中断,节点A恢复→不触发抢占,节点B继续作为Master,VIP不切换。
2025-05-18 12:12:35
297
原创 Mysql主从复制
从库的 SQL 线程读取中继日志中的内容,按照日志中记录的操作顺序在从库上重新执行这些操作。这样,从库就能够模拟主库上的操作,使从库的数据与主库的数据保持一致。通过以上三个线程和三个阶段的协作,MySQL 主从复制能够实现主库数据的实时复制到从库,从而提供数据冗余、提高系统的可用性和可扩展性。它会读取主库二进制日志中的更改记录,并将这些记录写入到从库的中继日志(Relay Log)中。:从库的 SQL 线程负责读取中继日志中的更改记录,并在从库上按照顺序执行这些操作,从而使从库的数据与主库保持一致。
2025-05-13 21:23:04
363
原创 MySQL全量,增量备份与恢复
MySQL 增量备份是数据库管理中的重要策略,用于在两次全量备份之间捕获并保存数据变化。这种方法能显著减少备份时间和存储空间需求,同时确保数据可恢复至任意时间点。
2025-05-12 15:09:52
1487
原创 mySQL索引和事务
索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快了查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。索引的作用用类似于图书的目录可以根据目录中的页码快速找到所需的内容。索引作用。
2025-05-10 12:16:23
745
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人