- 博客(71)
- 收藏
- 关注
原创 部署zabbix企业级分布式监控
Zabbix 是一款开源的企业级 IT 基础设施监控解决方案,由 Alexei Vladishev 于 2001 年开发,现由 Zabbix SIA 公司维护。它专为实时监控网络服务、服务器健康状况、应用程序及云资源而设计,通过分布式架构支持大规模监控场景,适用于从小型企业到大型数据中心的多种环境。核心功能多维度监控能力基础设施监控:支持 Linux/Windows 服务器、网络设备(路由器/交换机)的 CPU、内存、磁盘、网络带宽等指标监控。
2025-07-21 19:56:04
1144
原创 kubernetes资源管理
在生产环境中,可能会有多个 Kubernetes 集群,面向开发环境、测试环境、预生产环境和生产环境等。身为 Kubernetes 管理员,必然知道每个环境的规模有多大、可调度资源有多少,并且知道如何合理地为容器分配内存和 CPU,所以一个管理员去管理整个 Kubernetes 集群时,很少会有资源分配超出集群可调度范围的情况。但在实际使用时,Kubernetes 集群并非只有一个管理员在使用,也并非只有管理员在使用。
2025-07-15 12:11:25
850
原创 Kubernetes高级调度(污点、容忍、亲和)
设置了污点的 Node 将根据 taint 的 effect: Noschedule、PreferNoschedule、NoExecute 和 Pod之间产生互斥的关系,Pod 将在一定程度上不会被调度到 Node 上。但我们可以在 Pod 上设置容忍(Toleration),意思是设置了容忍的 Pod 将可以容忍污点的存在,可以被调度到存在污点的 Node 上。
2025-07-14 15:11:15
1087
原创 kubernetes高级调度
HPA(Horizontal Pod Autoscaler,水平 Pod 自动伸缩器)可以根据观察到的 CPU、内存使用率或自定义度量标准来自动扩展或缩容 Pod 的数量。注意 HPA 不适用于无法缩放的对象,比如 Daemonset。HPA 控制器会定期调整 RC或 Deployment 的副本数,以使观察到的平均 CPU 利用率与用户指定的目标相匹配。
2025-07-11 12:23:16
956
原创 Kubernetes存储
在生产环境中,应用程序经常需要持久化存储数据,如用户上传的文件、数据库记录等。然而,在Kubernetes 中,由于容器本身具有高度的可扩展性和编排能力,传统的数据存储方式已无法满足需求。因此,Kubernetes 抽象出了Volume 的概念,用于解决容器的数据存储问题。Volume 在 Kubernetes 中扮演着至关重要的角色,它允许容器在重启或迁移时保持数据的持性。介绍 Volume 的概念、类型以及使用方法。
2025-07-09 14:40:08
743
原创 Kubernetes配置管理/ConfigMap
在传统架构中,配置文件往往被保存在宿主机上,程序启动是可以指定某个配置文件,但是使用容器部署时,容器所在的节点并不固定,所以不能使用这种方式,此处在构建镜像时,如果把配置文件也放在容器里面,那么配置文件一旦有更改的话,也是一件非常麻烦的事情。所以k8s 抽象了一个 configMap的概念,将配置与 pod 和组件分开,这有助于保持工作负载的可移植性,使配置更易于更改和管理。比如在生产环境中,可以将 Nginx、Redis 等应用的配置文件存储在 ConfigMap 上,然后将其挂载即可使用。
2025-07-08 14:29:40
1441
原创 Kubernetes服务发布/Ingress
在 Kubernetes 中,服务暴露是集群与外部世界通信的关键环节。Kubernetes 提供了多种服务暴露的方式,其中 Ingress 作为一种灵活且强大的解决方案,逐渐成为生产环境中的首选。Ingress 不仅能够通过域名的方式访问集群内部的应用,还提供了负载均衡、SSL 终结、基于名称的虚拟主机等高级功能。与传统的 LoadBalancer 和 NodePort 相比,Ingress 更加适合复杂的微服务架构,尤其是在需要管理大量服务和域名的场景下。
2025-07-07 15:26:21
802
原创 kubernetes Pod调度基础
无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息。这种服务叫做无状态服务。无状态服务:就是没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数(服务端自身不存储跟请求相关的任何数据,不包括数据库存储信息)如果在启动一个服务时,不依赖于该服务之前的运行状态,或者不依赖于其他服务,这个服务就是无状态服务;
2025-07-01 16:06:04
990
原创 kubernetes Pod深度解析
Pod是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及运行规范。在Pod中,所 有容器都被统一安排和调度。对于具体应用而言,Pod是它们的逻辑主机,Pod包含业务相关的多个应用 容器。所以,Pod是一组具有共享命名空间、IP地址和端口的容器的集合。Pod 是 Kubernetes 最小管理单元,由一个或多个容器组成,共享网络和存储。探针机制包括存活探针、就绪探针和启动探针,确保应用健康运行。
2025-06-30 15:18:10
953
原创 kubernetes架构原理
由 Coreosk 开发的一个项目,很多部署工具或者 k8s 的发行版都是默认安装,flanne1 是可以用集群现有的 etcd,利用 api 方式存储自身状态信息,不需要专门的数据存储,是配置第三层的 ipv4 0verlay网络,在此网络内,每个节点一个子网,用于分配 ip 地址,配置 pod 时候,节点上的网桥接口会为每个新容器分配一个地址,同一主机中的 pod 可以使用网桥通信,不同主机的 pod 流量封装在 udp 数据包中,路由到目的地。可以理解为用户和组的概念,用户会继承它所在组的权限。
2025-06-26 15:56:05
924
原创 Containerd容器技术
Containerd(Container Daemon)是一个开源的容器运行时,它提供了一种标准化的方式来管理容器的生命周期。该项目最初是由 Docker 开发团队创建的,并在后来成为一个独立的项目,被纳入了 cloudNative computing Foundation(云原生计算基金会 CNCF)的孵化项目中。容器生命周期管理: Containerd 管理容器的生命周期,包括容器的创建、运行、暂停、恢复、停止和销毁等操作。
2025-06-25 14:15:15
1261
原创 Docker Compose与私有仓库部署
Docker compose 的前身是 Fig,它是一个定义及运行多个 Docker 容器的工具。使用 DockerCompose 时,只需要在一个配置文件中定义多个 Docker 容器,然后使用一条命令启 动这些容器。Dockercompose 会通过解析容器间的依赖关系按先后顺序启动所定义的容器。Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。
2025-06-24 12:57:32
877
原创 Docker镜像制作
Dockfile 是一种被 Docker 程序解释的脚本,Dockerfile 由多条的指令组成,每条指令对应Linux 下面的一条命令。Docker 程序将这些 Dockerfile 指令翻译成真正的Linux 命令。Dockerfile有自己书写格式和支持的命令,Docker 程序解决这些命令间的依赖关系,类似于Makefile。Docker 程序将读取 Dockerfile,根据指令生成定制的镜像。
2025-06-23 14:26:47
1151
原创 容器技术与Docker环境部署
因为 Docker 轻便、快速的特性,可以使应用达到快速迭代的目的。每次小的变更,马上就可以看到效果,而不用将若干个小变更积攒到一定程度再变更。每次变更一小部分其实是一种非常安全的方式,在开发环境中能够快速提高工作效率。Docker 容器能够帮助开发人员、系统管理员、质量管理和版本控制工程师在一个生产环节中一起协同工作。制定一套容器标准能够使系统管理员更改容器的时候,程序员不需要关心容器的变化,而更专注自己的应用程序代码。从而隔离开了开发和管理,简化了开发和部署的成本。
2025-06-20 15:32:55
1130
原创 OpenStack体验
云计算(cloud computing)是一种基于网络的超级计算模式,基于用户的不同需求,提供所需的资源,包括计算资源、存储资源、网络资源等。云计算服务运行在若干台高性能物理服务器之上,提供每秒 10 万亿次的运算能力,可以用于模拟核爆炸、预测气候变化以及市场发展趋势。云计算有广义和狭义之分。狭义的云计算是指通过网络按需向用户提供 I 基础设施,包括硬件、平台和软件,提供资源的网络被称为“云”。在使用者看来,“云”中的资源是无限大的,无论需要多少资源,云都可以提供。
2025-06-18 17:35:00
1078
原创 KVM高级功能部署
QEMUIKVM 也会评估迁移过程中的传输速度,当剩余的内存数据量能够在一个可设定的时间周期内完成传输,QEMUIKVM 将会关闭源宿主机上的 KVM 虚拟机,再将剩余的数据量传输到目标宿主机,最后通过传输过来的内存内容在目标宿主机上恢复 KVM 虚拟机的运行状态。KSM 让内核扫描正在运行中的程序并比较它们的内存,如果发现它们的内存区域或内存页是完全相同的,就将相同的内存合并为一个单一的内存页,并将其标识为“写时复制(copy-on-write)”,这样可以起到节省系统内存使用量的作用。
2025-06-17 14:41:05
1113
原创 部署KVM虚拟化平台
公司部分 Linux 服务器硬件资源利用率不高,为了充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行Nginx的服务器上部署 KVM,然后在 KVM 虚拟机上运行 Tomcat 等服务。广义的 KVM 实际上包含两部分,一部分是基于 Linux 内核支持的 KVM 内核模块,另-部分就是经过简化和修改的 Qemu。KVM 内核模块是模拟处理器和内存以支持虚拟机的运行,Qemu 主要处理 I/0 以及为用户提供一个用户空间工具来进行虚拟机的管理。
2025-06-16 16:36:46
1371
原创 ELK日志分析系统
概述日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
2025-06-13 18:13:22
1500
原创 FastDFS分布式存储
FastDFs 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFs 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFs 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2025-06-12 15:57:46
1354
原创 GFS分布式文件系统
GlusterFS 是一个开源的分布式文件系统,同时也是Scale-Out存储解决方案Gluster 的核心,在存储数据方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数PB级 别的存储容量。GlusterFS借助TCP/IP或InfiniBandRDMA 网络将分散的存储资源汇聚在 一起,统一提供存储服务,并使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的 用户空间以及无元的设计,可为各种不同的数据负载提供优异的性能。
2025-06-11 14:08:55
1212
原创 MongoDB数据库应用
MongoDB 是一个文档型数据库,数据以类似JSON 的文档形式存储。MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。
2025-06-10 17:06:24
1249
原创 Redis群集
集群,即 Redis Cluster, 是 Redis 3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis 的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。
2025-06-09 15:00:12
1367
原创 Redis哨兵
在一主多从的 Redis 架构中,从节点可以起到数据冗余备份和读写分离的作用。如果主节点遇到故障导致无法提供服务时,可以采用手动方式将其一个从节点提升为主节点,保证 Redis 主从能够正常工作。主从切换通过手动完成比较耗时、费力,并且影响 Redis 正常服务。为此,Reids 提供了哨兵功能,实现了自动化的系统监控和故障恢复功能。哨兵(Sentinel),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。哨兵是一个独立的进程。
2025-06-06 16:05:11
839
原创 NoSQL之Redis配置与优化
Redis 数据库是一个非关系型数据库Redis(RemoteDictionaryServer,远程字典型)是一个开源的、使用C语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用 key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis 服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis 进程,而 Redis 的实际处理速度则是完全依靠于主进程的执行效率。
2025-06-05 15:20:58
1423
原创 Kafka消息队列
消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到MQ中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
2025-06-04 16:39:03
1739
原创 nginx+Tomcat负载均衡群集
LVS:四层性能王者,适合基础设施层的流量转发。HAProxy:四层 / 七层全能型选手,适合需要灵活路由和复杂健康检查的场景。Nginx:七层 Web 场景首选,轻量高效,适合反向代理和静态资源处理。京北点指科技有限公司发布V3版移联建站管理系统,该项目为Java 语言开发的Web 站点。目前,IBM 的 WebSphere 及 0racle 的 WebLogic 占据了市面上 Java 语言 Web 站点的 大部分份额。
2025-06-03 14:20:17
1519
原创 HAProxy搭建web群集
Haproxy 是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如 LVS 和 Nginx,apache。相比较而言,LVS 性能最好,但是搭建相对复杂,Haproxy 官方网站是 http://www.haproxy.org/。
2025-05-30 10:56:49
1155
原创 LVS+keepalived高可用群集
Keepalived 的官方网站位于 http://www.keepalived.org/,将以 YUM方式讲解 Keepalived 的安装、配置和使用过程。在非 LVS 群集环境中使用时,Keepalived 也可以作为热备软件使用。
2025-05-29 15:19:33
1922
原创 部署LVS-DR群集
随着互联网业务的蓬勃发展,网站的访问量、应用的并发请求量呈爆炸式增长。如何确保在高并发场景下,业务系统依然能够稳定、高效地运行,为用户提供流畅、优质的服务,成为了每一个企业和开发者必须面对的挑战。
2025-05-28 12:10:52
1511
原创 LVS负载均衡群集
根据实际企业环境的不同,群集所提供的功能也各不相同,采用的技术细节也可能各有千秋。然而从整体上来看,需要先了解一些关于群集的共性特征,才能在构建和维护群集的工作中做到心中有数,避免操作上的盲目性。
2025-05-27 14:34:38
1306
原创 Python网络编程
Socket 是网络通信的基础,是实现网络编程的抽象层。在 Pvthon 中,socket 模块提供了对 Socket 的封装,使得我们可以轻松实现 TCP 和 UDP 通信。Socket 接口提供了发送、接收、连接、断开等操作,允许我们在程序中实现网络通信。IPv4 和 IPv6:Socket 支持 IPv4 和 IPv6 协议,通过指定不同的地址族(AF INET 表示 IPV4,AF INET6 表示 IPv6)可以支持不同的网络环境。
2025-05-26 13:47:08
822
原创 Python操作MySQL数据库
连接池技术能够在高并发场景下提升数据库连接的效率。在连接池中,多个数据库连接被提前创建并放入池中,客户端通过池获取连接,而不是每次都建立新的连接。这大大减少了连接创建和销毁的开销。READ UNCOMMITTED:允许脏读,最低的隔离级别,性能最好,但容易出现数据不一致的情况。READ COMMITTED:解决了脏读问题,但可能出现不可重复读。REPEATABLE READ:解决了脏读和不可重复读问题,但可能出现幻读。SERIALIZABLE:解决了所有问题,但性能最差,可能导致事务长时间等待。
2025-05-24 16:25:11
1151
原创 初识Flask框架
Flask 作为一个微框架,强调简单性和灵活性。Werkzeug:这是 Flask 的底层库,提供了 WSGI 接口、HTTP 请求和响应处理、路由等核心功能。Jinja2:一个功能强大的模板引擎,用于动态生成 HTML 页面。Flask 的设计目的是让开发者能够快速开发应用,并提供了灵活的方式进行扩展。如果你不需要复杂的功能,Flask 的核心本身已经足够满足需求。如果你需要更多高级特性,可以通过 Flask 的扩展库进行补充。
2025-05-23 15:34:27
1274
原创 Python的文本操作和try语句使用
目录一. 文本操作1. 打开文件的模式(1) 示例:打开文件并使用模式2. 读取文件(1) read()方法(2) readline()方法(3) readlines()方法3. 写入文件(1) 使用write()方法写入文件a(2) 使用wirtelines()方法写入多行数据二. 错误处理与异常捕获1:try 语句的使用2:示例:捕获常见异常文件操作是 Python编程中常见的任务。Python提供了多种方法来读取、写入和管理文件,能够处理文本文件、二进制文件以及目录操作等。拿握文件操作的基础和技巧是高
2025-05-22 16:09:41
1079
原创 Python实现web请求与响应
Web 请求与响应是 Web 通信的基础。Web 请求由客户端发起,服务器处理后返回响应。HTTP(Hypertext Transfer Protocol)是Web 上传输数据的协议,负责浏览器与服务器之间的通信。GET:请求服务器获取资源,通常用于读取数据。POST:提交数据到服务器,通常用于表单提交、文件上传等。PUT:更新服务器上的资源,DELETE:删除服多器上的资源。
2025-05-22 12:11:10
826
原创 PortgreSQL常用操作
pg_dump对于其他备份方法的一个重要优势是,pg_dump的输出可以很容易地在新版本的PostgreSQL中载入,而文件级备份和连续归档都是极度的服务器版本限定的。pgdump也是唯一可以将一个数据库传送到一个不同机器架构上的方法,例如从一个32位服务器到一个64位服务器由pg_dump创建的备份在内部是一致的,也就是说,转储表现了pg_dump开始运行时刻的数据库快照,且在pg_dump运行过程中发生的更新将不会被转储(但是会阻塞那些需要pg_dump工作的时候并不阻塞其他的对数据库的操作。
2025-05-21 13:28:00
1883
原创 PostgreSQL简介安装
PostgreSQ,作为一个功能强大且开源的对象关系型数据库管理系统(ORDBMS),自其诞生以来,便以其卓越的性能和丰富的特性赢得了全球开发者和企业的青睐。源自加利福尼亚大学伯克利分校的PostgreSQL,不仅继承了其前身 Ingres 的精髓,更在不断的发展中推陈出新,成为了现代数据库领域的佼佼者。
2025-05-20 12:15:35
1800
原创 MySQL故障排查与优化
所有跨存储引擎的功能也在这一层实现,如过程、函数等。在该层上服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化,如确定查询表的顺序,是否利用索引等,最后生成相应的执行操作。EXPLAIN 是 MySQL 中用于分析 SQL 执行计划的工具,通过模拟查询执行过程输出关键信息(如访问类型 type、使用索引 key、预估扫描行数 rows、额外操作 Extra 等),帮助开发者识别全表扫描、索引失效等性能瓶颈,从而指导优化方向(如添加索引、改写查询或调整表结构),是提升数据库效率不可或缺的诊断手段。
2025-05-19 14:58:08
1025
原创 MySQL高可用
目前 MySQL 已经成为市场上主流数据库之一,考虑到业务的重要性,MySQI数据库单点问题已成为企业网站架构中最大的隐患。随着技术的发展,MHA 的出现就是解决 MySQL 单点的问题。另外随着企业数据量越来越庞大,数据库的压力又成为企业的另一个瓶颈,MySQL多主多从架构的出现可以减轻 MySQL本身的压力。本章将主要围绕“MySQL 主主复制+Keepalived+HAProxy” 这一经典高可用架构展开,通过理论结合实践,解析如何通过开源工具实现数据库的故障自动转移、负载均衡和读写分离。
2025-05-16 16:39:26
1048
原创 MySQL读写分离
在slave1和2上查询不到,在master上才能查看到这条语句内容,说明写操作在master服务器上,由此验证,已经实现了mysql读写分离,目前所有的操作都全部在master主服务器上,用来避免数据的不同步,所有的读操作都分摊给了slave从服务器,用来分担数据库的压力。简单来说,读写分离就是只在主服务器上写,只在从服务器上读。不过,无论是哪种存储方式,在最终用户看,MyCAT里都是一个传统的数据库表,支持标准的 SQL,语句进行数据的操作,这样,对前端业务系统来说可以大幅降低开发难度,提升开发速度。
2025-05-15 17:12:29
1555
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅