自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 部署 Zabbix 企业级分布式监控

Zabbix 是一种企业级的分布式开源监控系统的解决方案,Zabbix 是一个基于 Web 界面的提供分布式系统监控,以及网络监控功能的企业级开源解决方案。Zabbix 由 AlexeiVladishev 创建,目前由 ZabbixSIA 主导开发和支持。Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。

2025-07-21 13:19:12 932

原创 Kubernetes 资源管理

在生产环境中,可能会有多个 Kubernetes 集群,面向开发环境、测试环境、预生产环境和生产环境等。身为 Kubernetes 管理员,必然知道每个环境的规模有多大、可调度资源有多少,并且知道如何合理地为容器分配内存和 CPU,所以一个管理员去管理整个 Kubernetes 集群时,很少会有资源分配超出集群可调度范围的情况。但在实际使用时,Kubernetes 集群并非只有一个管理员在使用,也并非只有管理员在使用。

2025-07-15 11:17:02 729

原创 Kubernetes 高级调度 02

设置了污点的 Node 将根据 taint 的 effect:NoSchedule、PreferNoSchedule、NoExecute 和 Pod 之间产生互斥的关系,Pod 将在一定程度上不会被调度到 Node 上。但我们可以在 Pod 上设置容忍(Toleration),意思是设置了容忍的 Pod 将可以容忍污点的存在,可以被调度到存在污点的 Node 上。

2025-07-14 11:29:40 885

原创 Kubernetes 高级调度 01

HPA(Horizontal Pod Autoscaler,水平 Pod 自动伸缩器)可以根据观察到的 CPU、内存使用率或自定义度量标准来自动扩展或缩容 Pod 的数量。注意 HPA 不适用于无法缩放的对象,比如 DaemonSet。HPA 控制器会定期调整 RC 或 Deployment 的副本数,以使观察到的平均 CPU 利用率与用户指定的目标相匹配。

2025-07-11 11:33:30 1019

原创 Kubernetes 存储入门

emptyDir 是一个特殊的 Volume 类型,与上述 Volume 不同的是,如果删除 Pod,EmptyDir 卷中的数据也将被删除,所以一般 emptyDir 用于 Pod 中不同容器共享数据,比如一个 Pod 存在两个容器 A 和容器 B,容器 A 需要使用容器 B 产生的数据,此时可以采用 emptyDir 共享数据,类似的使用如 Filebeat 收集容器内程序产生的日志。对于大多数的项目而言,数据文件的存储是非常常见的需求,比如存储用户上传的头像、文件以及数据库的数据。

2025-07-09 11:14:13 880

原创 Kubernetes 配置管理

kind: Podmetadata:spec:env:valueFrom:key:name1valueFrom:key: name2EOF在此案例中,env 用于定义环境变量,valueFrom 指定了环境变量的值来源于 ConfigMap。"name:my-name01" 用于定义容器中用的变量名,其值来自于 CM 中的 name1 的值。"name1" 是在 CM 中定义的 key。

2025-07-08 11:46:38 1092

原创 Kubernetes 服务发布进阶

或者同时具有很多个后端,需要使用 /api-a 到 A 服务,/api-b 到 B 服务,但是由于 A 和 B 服务可能并没有 /api-a 和 /api-b 的路径,因此需要将 /api-x 重写为 "/",才可以正常到 A 或者 B 服务,否则将会出现 404 的报错。此时可以通过 Rewrite 功能达到这种效果。service 的作用体现在两个方面,对集群内部,它不断跟踪 pod 的变化,更新 endpoint(端点)中对应 pod 的对象,提供了 ip 不断变化的 pod 的服务发现机制;

2025-07-07 20:31:15 648

原创 Kubernetes服务发布基础

在当今的云计算和微服务架构中,Kubernetes(简称 K8s)已成为容器编排和管理的事实标准。通过它可将应用轻松部署到集群,确保高可用性和可扩展性。但应用部署后,如何将服务暴露给外部用户访问是关键问题。传统架构中,用户访问内部服务需经 Nginx、Haproxy、LVS 等负载均衡工具或公有云的 SLB、ELB 等多层组件。Kubernetes 实现负载均衡和域名路由技术类似,只是名称和配置方式不同。

2025-07-04 12:20:07 757

原创 Kubernetes Pod调度基础

编辑 ReplicaSet 文件metadata:labels:spec:selector:template:metadata:labels:spec:resources:requests:cpu: 100menv:value: dnsports:创建 RS无状态服务对单次请求的处理不依赖其他请求,处理一次请求所需信息要么在请求里,要么可从外部获取,服务器本身不存储任何信息。

2025-07-01 11:51:51 1142

原创 Kubernetes Pod 深度解析详细笔记

资源抽象:屏蔽容器运行时差异(Docker/containerd),统一管理模型2可靠性保障:通过探针与重启策略实现自动恢复,减少人工干预9部署灵活性:支持多容器协作、静态 / 动态部署模式,适应不同场景21。

2025-06-30 15:24:08 390

原创 Containerd容器技术详解

Containerd 的架构是 modularity(模块化)和可扩展性的体现,它被设计为一个轻量级、高度可定制的容器运行时。可以看出 Containerd 采用的也是 C/S 架构,服务端通过 unix domain socket 暴露低层的 gRPC API 接口出去,客户端通过这些 API 管理节点上的容器,每个 Containerd 只负责一台机器,Pull 镜像,对容器的操作(启动、停止等),网络,存储都是由 Containerd 完成。具体运行容器由 runc 负责。

2025-06-25 11:39:23 1321

原创 Docker Compose与私有仓库部署

Docker Compose 的前身是 Fig,它是一个定义及运行多个 Docker 容器的工具。使用 Docker Compose 时,只需要在一个配置文件中定义多个 Docker 容器,然后使用一条命令启动这些容器。Docker Compose 会通过解析容器间的依赖关系按先后顺序启动所定义的容器。Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。

2025-06-24 11:08:43 1337

原创 Docker高级管理--Dockerfile镜像制作

Dockerfile 是 Docker 解释的脚本,由多条指令组成(每条对应 Linux 命令),定义镜像构建逻辑,解决命令依赖(类似 Makefile)。相比镜像 “黑盒”,Dockerfile 更透明,支持灵活扩展。

2025-06-23 11:12:35 1383

原创 Docker高级管理--容器通信技术与数据持久化

除了上述内置的网络模式,你还可以使用 docker network create 命令创建自定义的 bridge 网络,以满足特定的网络需求,例如指定子网、网关、IP 范围等。示例 1:使用如下命令创建一个自定义网络此命令的主要目的是创建一个新的 Docker 网络,这个网络可以用于容器之间的通信。默认情况下,创建的是一个基于 bridge 驱动的网络。docker network create:这是 Docker 提供的用于创建网络的基础命令。

2025-06-21 10:49:16 1355

原创 容器技术技术入门与Docker环境部署

因为 Docker 轻便、快速的特性,可以使应用达到快速迭代的目的。每次小的变更,马上就可以看到效果,而不用将若干个小变更积攒到一定程度再变更。每次变更一小部分其实是一种非常安全的方式,在开发环境中能够快速提高工作效率。Docker 容器能够帮助开发人员、系统管理员、质量管理和版本控制工程师在一个生产环节中一起协同工作。制定一套容器标准能够使系统管理员更改容器的时候,程序员不需要关心容器的变化,而更专注自己的应用程序代码。从而隔离开了开发和管理,简化了开发和部署的成本。

2025-06-20 11:11:43 1524

原创 OpenStack入门体验

云计算(cloud computing)是一种基于网络的超级计算模式,基于用户的不同需求,提供所需的资源,包括计算资源、存储资源、网络资源等。云计算服务运行在若干台高性能物理服务器之上,提供每秒 10 万亿次的运算能力,可以用于模拟核爆炸、预测气候变化以及市场发展趋势。云计算有广义和狭义之分。狭义的云计算:指通过网络按需向用户提供 IT 基础设施,包括硬件、平台和软件,提供资源的网络被称为 “云”。在使用者看来,“云” 中的资源是无限大的,无论需要多少资源,云都可以提供。

2025-06-18 11:19:54 1242

原创 案例:KVM高级功能部署

结果为y则表示支持KSM 服务在 CentOS7 内是以 ksmd 作为守护进程的,针对该服务的一些配置文件,都在目录 “/sys/kernel/mm/ksm” 下。max_page_sharing:设置每个 KSM 页面允许的最大共享数量。这个配置设置了重复数据删除限制,以避免虚拟内存 mmap 列表变得太大。max_page_sharing 最小值为 2,因为新创建的 KSM 页面至少有两个共享器。merge_across_nodes:指定是否可以合并来自不同 numa 节点的页面。

2025-06-17 12:29:45 1025

原创 部署KVM虚拟化平台

KVM三种工作模式客户模式:执行非I/O的客户代码,虚拟机运行在这个模式下用户模式:用户执行I/O代码,QEMU运行在这个模式下 内核模式:CPU调度和内存管理相关‌‌‌QEMU(Quick EMUlator)是一个开源的通用模拟器和虚拟化软件,由‌Fabrice Bellard创建。 它允许在一个平台上运行一个或多个操作系统,这些操作系统与宿主机(运行QEMU的机器)的原生操作系统完全隔离。QEMU具有以下主要功能:QEMU可以独立使用,也经常与其他虚拟化和模拟工具一起使用,如‌VirtualBox或‌V

2025-06-16 12:07:01 1034

原创 ELK日志分析系统

Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。Logstash 由 Java 语言编写,运行在 Java 虚拟机 JVM 上,是一款强大的数据处理工具;可以实现数据传输、格式处理、格式输出。

2025-06-13 14:17:15 1498

原创 FastDFS分布式储存

FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

2025-06-12 11:51:21 1608

原创 GFS分布式文件系统

GlusterFS 是一个开源的分布式文件系统,同时也是 Scale-Out 存储解决方案 Gluster 的核心,在存储数据方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数 PB 级 别的存储容量。GlusterFS 借助 TCP/IP 或 InfiniBand RDMA 网络将分散的存储资源汇聚在 一起,统一提供存储服务,并使用单一全局命名空间来管理数据。GlusterFS 基于可堆叠的 用户空间以及无元的设计,可为各种不同的数据负载提供优异的性能。

2025-06-11 12:09:25 1397

原创 MongoDB数据库应用

以下是提取的文字内容:MongoDB 是一个文档型数据库,数据以类似 JSON 的文档形式存储。MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。MongoDB 使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。

2025-06-10 13:49:13 803

原创 NoSQL之Redis集群

集群,即 Redis Cluster,是 Redis 3.0 开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis 的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。

2025-06-09 11:54:09 1206

原创 NoSQL之Redis哨兵

在一主多从的 Redis 架构中,从节点可以起到数据冗余备份和读写分离的作用。如果主节点遇到故障导致无法提供服务时,可以采用手动方式将其一个从节点提升为主节点,保证 Redis 主从能够正常工作。主从切换通过手动完成比较耗时、费力,并且影响 Redis 正常服务。为此,Redis 提供了哨兵功能,实现了自动化的系统监控和故障恢复功能。哨兵(Sentinel),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。哨兵是一个独立的进程。

2025-06-06 11:22:27 1328

原创 NoSQL之Redis配置与优化

Redis (RemoteDictionaryServer, 远程字典型) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用 key-value (键值对) 的存储形式,是目前分布式架构中不可或缺的一环。Redis 服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个 Redis 进程,而 Redis 的实际处理速度则是完全依靠于主进程的执行效率。

2025-06-05 14:11:19 1253

原创 Kafka消息队列

ZooKeeper 是一种分布式协调技术,所谓分布式协调技术主要是用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种共享资源,防止造成资源竞争(脑裂)的后果。脑裂是指在主备切换时,由于切换不彻底或其他原因,导致客户端和 Slave 误以为出现两个 activemaster,最终使得整个集群处于混乱状态。

2025-06-04 13:08:12 938

原创 Nginx+Tomcat负载均衡群集

通常情况下,一台 Tomcat 站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要一套更可靠的解决方案来完善 Web 站点架构。Nginx 是一款非常优秀的 http 服务器软件,它能够支持高达 50000 个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU 等系统资源消耗非常低。目前很多大型网站都会应用 Nginx 服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。

2025-06-03 12:05:31 1235

原创 使用Haproxy搭建web群集

Haproxy 是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如 LVS 和 Nginx。相比较而言,LVS 性能最好,但是搭建相对复杂;Nginx 的 upstream 模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有 Haproxy 好。Haproxy 官方网站是。

2025-05-30 11:19:38 1227

原创 LVS +Keepalived高可用群集

Keepalived 的官方网站位于 http://www.keepalived.org/,本章将以 YUM方式讲解 Keepalived 的安装、配置和使用过程。在非 LVS 群集环境中使用时,Keepalived 也可以作为热备软件使用。

2025-05-29 12:21:22 1664

原创 部署LVS-DR群集

修改源 MAC 地址为Director Server 的 MAC 地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server。LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用,节点 Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过 Director Server。

2025-05-28 11:10:12 1260

原创 LVS负载均衡群集

根据实际企业环境的不同,群集所提供的功能也各不相同,采用的技术细节也可能各有千秋。然而从整体上来看,需要先了解一些关于群集的共性特征,才能在构建和维护群集的工作中做到心中有数,避免操作上的盲目性。

2025-05-27 12:20:44 1232

原创 python网络编程

Socket 是网络通信的基础,是实现网络编程的抽象层。在 Python 中,socket 模块提供了对 Socket 的封装,使得我们可以轻松实现 TCP 和 UDP 通信。Socket 接口提供了发送、接收、连接、断开等操作,允许我们在程序中实现网络通信。IPv4 和 IPv6:Socket 支持 IPv4 和 IPv6 协议,通过指定不同的地址族(AF_INET 表示 IPv4,AF_INET6 表示 IPv6)可以支持不同的网络环境。

2025-05-26 11:23:35 955

原创 python操作MySQL数据库

连接池技术能够在高并发场景下提升数据库连接的效率。在连接池中,多个数据库连接被提前创建并放入池中,客户端通过池获取连接,而不是每次都建立新的连接。这大大减少了连接创建和销毁的开销。READ UNCOMMITTED:允许脏读,最低的隔离级别,性能最好,但容易出现数据不一致的情况。READ COMMITTED:解决了脏读问题,但可能出现不可重复读。REPEATABLE READ:解决了脏读和不可重复读问题,但可能出现幻读。SERIALIZABLE:解决了所有问题,但性能最差,可能导致事务长时间等待。

2025-05-24 11:49:41 2770 1

原创 初识FLask框架

Flask 作为一个微框架,强调简单性和灵活性。

2025-05-23 17:45:02 1130

原创 Python 实现Web 请求与响应

定义:客户端(如浏览器)向服务器发送的获取资源或执行操作的请求。组成部分请求行:包含请求方法(如 GET、POST)、URL、协议版本(如 HTTP/1.1)。请求头:包含客户端信息(如 User-Agent)、请求参数(如 Content-Type)等。请求体(可选):发送的数据(如表单数据、JSON),常见于 POST 请求。超文本传输协议(HTTP)是 Web 请求与响应的通信基础,基于客户端 - 服务器模型无状态:每次请求独立,服务器不保留客户端历史信息。方法多样。

2025-05-22 12:26:31 1691

原创 PostgreSQL日常维护

具体说来,就是它必须要有你想备份的表的读权限,因此为了备份整个数据库你几乎总是必须以一个数据库超级用户来运行它(如果你没有足够的特权来备份整个数据库,你仍然可以使用诸如 -n schema 或 -t table 选项来备份该数据库中你能够访问的部分)。psql 支持类似 pg_dump 的选项用以指定要连接的数据库服务器和要使用的用户名。由 pg_dump 创建的备份在内部是一致的,也就是说,转储表现了 pg_dump 开始运行时刻的数据库快照,且在 pg_dump 运行过程中发生的更新将不会被转储。

2025-05-21 12:18:25 931

原创 PostgreSQL初体验

PostgreSQL,作为一个功能强大且开源的对象关系型数据库管理系统(ORDBMS),自其诞生以来,便以其卓越的性能和丰富的特性赢得了全球开发者和企业的青睐。源自加利福尼亚大学伯克利分校的 PostgreSQL,不仅继承了其前身 Ingres 的精髓,更在不断的发展中推陈出新,成为了现代数据库领域的佼佼者。

2025-05-20 12:06:25 1201

原创 MySQL 故障排查与生产环境优化

MySQL 是目前企业最常见的数据库之一,占用绝大部分市场份额。在日常维护管理的过程中相信大家肯定会遇到很多常见的故障。为了提高故障处理的及时性,本章案例将常见故障进行汇总,增长学习经验。生产环境中数据库的默认配置无法满足高性能网站架构的需求,本章会从实际工作经验出发,总结 MySQL 数据库应该如何优化。

2025-05-19 19:57:07 1197

原创 MySQL 高可用

MySQL 高可用(High Availability)是指通过冗余设计,确保数据库服务在单节点故障、网络中断或硬件损坏等异常情况下,仍能持续对外提供服务,同时保证数据一致性。其核心目标是实现 “零停机、零数据丢失” 的业务连续性。

2025-05-16 12:03:34 1591

原创 MySQL主从复制和读写分离

MySQL 的主从复制和 MySQL 的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离。

2025-05-13 11:23:01 686

空空如也

空空如也

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

TA关注的人

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