自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 Kubernetes 应用部署与发布策略:Helm 与蓝绿 / 金丝雀发布

Helm 提供了 Kubernetes 应用的标准化打包和部署方式,而蓝绿发布与金丝雀发布则解决了版本更新过程中的可用性和风险控制问题。需快速全量更新且能接受双倍资源消耗时,选择蓝绿发布需逐步验证新版本稳定性时,选择金丝雀发布结合 Helm 可实现发布流程的标准化和自动化,进一步提高部署效率和可靠性。

2025-12-12 16:07:55 691

原创 Kubernetes 核心特性解析:特殊容器、调度管理与优先级策略

在 Kubernetes 集群管理中,特殊容器、Pod 调度策略和优先级管理是确保应用稳定运行、资源高效利用的关键技术。本文将详细解析这三方面的核心概念与实践方法。

2025-12-11 20:19:45 657

原创 Kubernetes 持久化存储与特殊容器

在 Kubernetes 集群中,容器的生命周期是短暂的,当 Pod 被删除或重启时,容器内的数据会随之丢失。对于 MySQL、Redis 等需要持久化数据的应用来说,持久化存储至关重要。同时,Kubernetes 还提供了特殊容器来应对特定场景的需求,本文将详细介绍这些内容。

2025-12-10 19:03:04 463

原创 K8S-RBAC 认证中心

K8S 集群的访问控制流程主要包括三个环节:认证(Authenticating)、授权(Authorization)和准入控制(Admission Control)。所有对集群的请求都必须经过这三个环节的检查,才能被 API Server 处理。

2025-12-09 19:31:09 937

原创 Kubernetes 中的 Job、CronJob 与 NetworkPolicy 详解

Job 是 Kubernetes 中用于管理一次性任务的资源对象,它会创建一个或多个 Pod,并持续重试 Pod 的执行,直到指定数量的 Pod 成功终止。当任务完成后,Job 会跟踪记录成功完成的 Pod 个数,当达到指定的成功阈值时,任务结束。Job 的主要特性确保任务可靠执行,当 Pod 失败或被删除时会自动重启支持并行运行多个 Pod可以设置任务的最大失败次数、超时时间等参数删除 Job 会清除其创建的所有 Pod。

2025-12-08 20:30:16 284

原创 K8S-Ingress资源对象

NodePort 方式:会占用大量集群机器端口,随着服务增多,端口管理变得复杂LoadBalancer 方式:每个 Service 都需要一个独立的负载均衡器,造成资源浪费且依赖外部设备支持。

2025-12-05 15:52:27 598

原创 K8S-Statefulset控制器

在 Kubernetes 的世界里,服务通常分为有状态和无状态两种类型。对于无状态服务,我们可以轻松地使用 Deployment 或 RC 来管理,但当面对需要稳定网络标识和持久化存储的有状态服务时,StatefulSet 就成为了最佳选择。本文将深入解析 StatefulSet 控制器的核心概念、工作原理及实际应用。

2025-12-04 19:53:28 722

原创 K8S DaemonSet 控制器

DaemonSet 控制器的核心功能是保证 Kubernetes 集群中所有的节点都运行一个相同的 Pod 副本。当向集群中添加新的节点时,这个新节点会自动创建对应的 Pod 副本;当节点从集群中移除时,相关的 Pod 也会被自动删除。此外,删除 DaemonSet 时,它所创建的所有 Pod 也会随之被删除。

2025-12-03 20:29:45 893

原创 K8S-Deployment 资源对象

Deployment 可以看作是比 ReplicaSet(RS)更高级的 API 对象,它主要用于管理长期运行的应用服务。定义 Deployment 来创建 Pod 和 ReplicaSet实现应用的滚动升级和回滚对应用进行扩容和缩容操作暂停和继续 Deployment 的更新过程从本质上来说,Deployment 代表了用户对 Kubernetes 集群的一次更新操作。

2025-12-02 20:37:51 753

原创 K8S-Pod资源对象

#查看对象中包含哪些字段标签其实就一对 key/value ,被关联到对象上,比如Pod,标签的使用我们倾向于能够表示对象的特殊特点,就是一眼就看出了这个Pod是干什么的,标签可以用来划分特定的对象(比如版本,服务类型等),标签可以在创建一个对象的时候直接定义,也可以在后期随时修改,每一个对象可以拥有多个标签,但是,key值必须是唯一的。创建标签之后也可以方便我们对资源进行分组管理。如果对pod打标签之后就可以使用标签来查看、删除指定的pod。(慎重!!!在k8s中,大部分资源都可以打标签。

2025-11-30 15:20:11 691

原创 Ansible之Playbook简单应用

playbook是ansible用于配置,部署和管理托管主机剧本,通过playbook的详细描述,执行其中一系列tasks,可以让远程主机达到预期状态,也可以说,playbook字面意思是剧本,现实中由演员按剧本表演,在ansible中由计算机进行安装,部署应用,提供对外服务,以及组织计算机处理各种各样的事情。ansible使用playbook来管理自动化task,playbook是yaml格式的文件,其基本内容可以认为是多条ansible的ad-hoc的语句组成。

2025-11-13 20:54:34 828

原创 Ansible安装与入门

ansible是新出现的自动化运维工具,基于python开发,集合了很多的运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于paramiko开发的,并且基于模块化工作,它本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架,ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。

2025-11-12 16:29:13 1049

原创 Zabbix7设置告警邮件提醒

数据采集->主机或模版->触发器->创建触发器(假如有触发器可跳过该步骤!动作的作用是将触发器与告警配置联系在一起。告警->动作->触发器动作->创建动作。登录163邮箱,设置邮箱调用授权码。告警->媒介->创建媒介类型。

2025-11-11 21:44:13 209

原创 Zabbix7添加监控主机

在监控mysql端添加自定义项目在zabbix-server测试数据4在UI界面添加监控项及图形。

2025-11-07 16:16:03 1000

原创 Zabbix 7 概述与配置详解

Zabbix是一款开源的企业级分布式监控系统,专为大规模IT基础设施设计。主动故障预警:提前发现潜在问题性能瓶颈分析:识别系统性能瓶颈容量规划支持:基于历史数据预测资源需求统一监控平台:整合服务器/网络/应用/云服务监控Zabbix 7是开源分布式企业级监控系统的里程碑版本,核心解决三大现代化需求:+ 云原生混合架构监控+ 千万级指标秒级采集+ 运维-开发-业务三维告警分析核心价值:从基础设施监控演进为可观测性平台,整合 Metrics/Logs/Traces 数据源。

2025-11-06 14:08:01 1130

原创 Elasticsearch+Logstash+Filebeat+Kibana部署【7.1.1版本】

path.data: /var/lib/logstash #数据存储路径。path.logs: /var/log/logstash #日志存储路径。http.host: "192.168.166.113" #监听地址。http.port: 9600-9700 #监听端口范围。打开页面后选择对应的组件及版本即可!##输出到elasticsearch。##使用rubydebug解码。

2025-11-04 18:36:08 595

原创 HAProxy 简介及配置文件详解

HAProxy 是法国人Willy Tarreau开发的一个开源软件,是一款应对客户端10000以上的同时连接的高性能的TCP和 HTTP负载均衡器。其功能是用来提供基于cookie的持久性, 基于内容的交换,过载保护的高级流量管制,自动故障切换 ,以正则表达式为基础的标题控制运行时间,基于Web的报表,高级日志记录以帮助排除故障的应用或网络及其他功能。HAProxy 提供高可用性、负载均衡以及基于TCP和HTTP的应用代理,支持虚拟主机,它是免费、快速并且可靠的一种负载均衡解决方案。

2025-11-03 14:12:40 767

原创 LVS-DR模式配置

通过负载均衡器配置:将负载均衡器的IP地址设置为Web节点的虚拟IP(VIP)地址。这样,客户端的请求将发送到负载均衡器的VIP地址。客户端请求到达负载均衡器:当客户端发送请求到负载均衡器的VIP地址时,负载均衡器会接收到请求。负载均衡器将请求转发到后端Web节点:负载均衡器将请求转发到其中一个后端Web节点。它通过修改目标IP地址为相应的Web节点的IP地址,并修改源IP地址为负载均衡器自身的IP地址,然后将请求发送到相应的Web节点。

2025-11-02 17:24:46 677

原创 Keepalived双机热备

Keepalived是一个基于VRRP协议(虚拟冗余路由协议)来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息(心跳检测,heartbeat)给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

2025-11-02 17:16:04 674

原创 LVS负载均衡集群理论详解

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核。为什么要用 LVS?为了克服服务器的过载压力问题,有两种解决方案:单服务器解决方案,即将服务器升级到性能更高的服务器,但是当请求增加时,将很快过载,因此必须再次对其进行升级,升级过程复杂且成本高;

2025-10-30 13:59:23 856

原创 Keepalived双机热备

Keepalived是一个基于VRRP协议(虚拟冗余路由协议)来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息(心跳检测,heartbeat)给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

2025-10-29 16:51:16 1485

原创 Redis Cluster 手动部署

Redis Cluster模式下的cluster failover(集群故障转移)的作用是确保Redis集群在主节点(Master)发生故障或不可用的情况下,能够自动将主节点的工作负载转移到备用节点(Slave)上,并使备用节点成为新的主节点,保证Redis集群的高可用性和持续可用性。当主节点发生故障时,Redis Cluster会自动检测到主节点的不可用,并从备用节点中选出一个合适的备用节点作为新的主节点。集群的其它节点也会更新集群拓扑信息,以便客户端能够正确地路由请求到新的主节点。

2025-10-28 18:13:31 1004

原创 Redis Cluster集群理论

由于这种机制,如果集群处于错误状态的时候,所有节点都会在同一时间停止接收写入操作,这从使用 Redis 集群的应用的角度来看是个很好的特性。节点从正常状态到fail状态,需要收集每个节点对不正常节点(B)的确认:1)当节点(A)发送的ping包没有返回,此时将B节点的状态信息标记为(PFAIL)状态,然后将信息发送到集群的其它节点,同理当A收集本地有关B状态的信息,当大多数主节点认为B节点是PFAIL状态时,节点A将标记B的状态为FAIL状态,然后向所有的可达节点发送这个消息。redis集群的运用主要是。

2025-10-28 18:08:27 598

原创 Redis Sentinel哨兵集群

Redis主从复制集群可以将主节点的数据改变同步给从节点,这样从节点就可以起到两个作用:第一:作为主节点的一个备份,一旦主节点出了故障不能继续对外提供服务时,从节点可以作为后备"顶"上来,并且保证数据尽量不丢失。第二,从节点可以扩展主节点的读能力,通过实现读写分离结构,可以大大减轻主节点在进行高并发读写操作时的访问压力。但是主从同步也带了一些问题:一旦主节点故障,需要手动将一个从节点晋升为主节点,slaveof no one。需要修改客户端或者应用程序的主节点地址。

2025-10-28 18:06:38 642

原创 Redis主从复制

在分布式集群系统中为了解决服务单点故障问题,通常会把数据复制出多个副本部署到不同的机器中,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。。复制也是Redis日常运维的常见维护点。因此深刻理解复制的工作原理与使用技巧对日常的运维非常有帮助。

2025-10-28 16:25:39 837

原创 Redis持久化详解

Redis是一种高级 key-value 型的NoSQL数据库。它跟memcached类似是内存型数据库,不过Redis数据可以做持久化,即内存中的数据可以同步到磁盘进行存储。而且Redis所支持的数据类型很丰富。有字符串,链表,集合和有序集合等。Redis支持在服务器端计算集合的并交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构型服务器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为"半持久化模式"RDB);

2025-10-27 14:12:15 731

原创 Redis数据库基础

NoSQL(内存/缓存型数据库):相比于其他的内存/缓存数据库,redis可以方便的实现持久化的功能(保存至磁盘中)关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括等。关系型数据库实例 -> 数据库 -> 表(table)-> 记录行(row)、数据字段(column)非关系型数据库。

2025-10-27 14:08:29 803

原创 Ceph存储

存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。

2025-10-24 15:10:00 1471

原创 NFS文件存储

一、概述NFS是Network File System的缩写,默认监听2049端口号。它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;NFS一般用来存储共享视频,图片等静态数据。NFS分为服务端和客户端。

2025-10-23 20:32:29 1029

原创 MySQL Galera Cluster部署

MySQL Galera Cluster 是一个高可用、同步复制的数据库解决方案,基于 Galera Library 和 MySQL 数据库。它设计用于提供高可用性、负载均衡和数据一致性,特别适合需要高写入负载和多主节点支持的场景。

2025-10-22 14:48:04 1032

原创 Python3编程之面向对象

class Car:pass#推荐使用下面定义方式passpass。

2025-10-20 15:18:29 786

原创 4、python编程之异常处理

用户自定义异常类需要继承 Exception 类,重写父类的__init__方法(方法重载)# 自定义异常类class MyException(Exception): # 继承异常类def __init__(self,code,msg): # 重写父类的__init__方法self.msg = msg # 捕获自定义异常类并打印输出异常信息try:raise MyException('404','请求失败')print(e)

2025-10-17 14:16:27 627

原创 3、Python编程之常用模块

Pickle序列化和所有其他编程语言特有的序列化问题 样,它只能用于Python,并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,即不能成功地反序列化也没关系。但是pickle的好处是可以存储Python中的所有的数据类型,包括对象,而json不可以。pickle模块序列化和反序列化的过程如下图所示。

2025-10-17 14:11:52 1281

原创 Python3编程之python基础

print('标识', id(name))print('类型', type(name))print('值', name)本章节主要说明 Python 的运算符。举个简单的例子:4 + 5 = 9例子中,4和5被称为操作数称为运算符。Python 语言支持以下类型的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符(不讲)成员运算符身份运算符运算符优先级接下来让我们一个个来学习Python的运算符。

2025-10-16 16:34:10 616

原创 MySQL读写分离

MaxScale 是 MariaDB 公司开发的智能数据库代理和负载均衡工具,专门为 MySQL/MariaDB 数据库设计。

2025-10-15 19:06:09 1304

原创 MySQL数据库主从复制

1、master开启二进制日志记录2、slave开启IO进程,从master中读取二进制日志并写入slave的中继日志3、slave开启SQL进程,从中继日志中读取二进制日志并进行重放4、最终,达到slave与master中数据一致的状态,我们称作为主从复制的过程。

2025-10-14 18:23:18 441

原创 MySQL8数据库高级特性-第二章

存储结构InnoDB 采用表空间的形式来存储数据,它将数据存储在一个或多个表空间文件中。表空间可以包含多个表的数据和索引,这种存储方式有利于数据的管理和维护。例如,一个数据库中的多个表可以共享同一个表空间,也可以为每个表指定单独的表空间,方便对不同表的数据进行独立的存储和管理。事务支持InnoDB 是 MySQL 8 中默认的事务型数据库引擎,它提供了完整的 ACID 事务支持。通过使用事务日志和锁机制,确保了数据的一致性和完整性。

2025-10-14 18:20:32 870

原创 MySQL8数据库高级特性

这是 MySQL 8 默认的隔离级别,它确保在同一个事务中,对同一数据的多次读取结果是相同的,可以避免脏读和不可重复读问题,但可能会出现幻读现象。这是最高的隔离级别,它通过强制事务串行执行,避免了脏读、不可重复读和幻读等所有并发问题,但会严重影响系统的性能,因为它限制了并发事务的执行。:二级索引是除聚簇索引之外的所有索引,它的叶子节点存储的不是实际的数据记录,而是聚簇索引列的值或者是指向数据记录的指针。如果事务中的任一操作失败,那么整个事务也会失败并且系统会自动撤销或回滚事务的所有操作,保持数据的一致性。

2025-10-13 14:25:33 1141

原创 MySQL数据库基础-第二章

它是一款开源的热备份工具,能够在不停止 MySQL 服务的情况下进行备份,支持对 InnoDB 和 XtraDB 存储引擎的备份和恢复,备份过程中不会阻塞数据库的正常读写操作,从而保证了业务的连续性。支持多种备份类型,如完整备份、增量备份等,还能对备份文件进行加密和压缩,以确保数据的安全性和减小备份文件的大小。完全备份:full backup,备份全部字符集(全部数据库),每次备份都会进行完全备份,会导致备份文件占用大量的磁盘空间,并且有大量的重复数据,只适合第一次备份,不常用。备份结果占据更多的空间;

2025-10-12 15:09:16 712

原创 MySQL数据库基础-第一章

数据库(Database)简称DB,按照一定格式存储数据的一些文件的组合,顾名思义就是存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。数据库管理数据有诸多优点,如降低存储数据的冗余度,存储的数据可以共享,便于维护数据完整性,能够实现数据的安全性等。数据库的发展经历了萌芽、初级、中级、和高级阶段。数据库管理系统(DateBase Management System)

2025-10-10 15:29:58 1166

空空如也

空空如也

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

TA关注的人

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