自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kubernetes 高级调度01

作用:根据资源利用率或自定义指标,动态扩缩 Pod 数量(仅支持可扩缩的资源,如 Deployment,不支持 DaemonSet)。原理:HPA 控制器定期(默认 15 秒)查询 Metrics Server,对比实际指标与目标值,调整副本数。

2025-07-14 19:49:28 1084

原创 k8s存储入门

对于大多数项目而言,数据文件存储是常见需求(如用户头像、文件、数据库数据)。在 Kubernetes 中,应用部署的高扩展性和编排性,决定了容器内存储数据不可取(无法保障安全)。应将有状态应用剥离为无状态:数据从应用中分离,存储到云端(如分布式存储、公有云 NAS 服务)。传统架构中,存储需提前在宿主机挂载,新增节点易忘挂载引发问题。Kubernetes 抽象出 Volume 概念,解决数据存储难题。

2025-07-13 16:01:35 835

原创 k8s服务发布进阶

然后,部署在集群中的 Ingress-controller 会持续监听 Ingress 资源的变化,当检测到新的 Ingress 资源创建或者已有 Ingress 资源更新时,Ingress-controller 会读取其中的路由规则。当外部流量(如用户的 HTTP/HTTPS 请求)到达集群边缘时,会被负载均衡器接收,负载均衡器再根据 Ingress-controller 配置的规则,将流量转发到集群内部对应的 Service,进而由 Service 转发到后端的 Pod 上,完成一次请求的处理。

2025-07-11 14:57:35 1233

原创 k8s 配置管理

ConfigMap 是 Kubernetes 中的一种 API 对象,用于将非机密性的数据保存到键值对中。解耦配置与容器镜像:使应用配置可以独立于容器镜像进行管理和修改配置动态化:支持运行时动态更新配置,无需重建镜像多环境适配:同一套应用代码可以在不同环境(开发 / 测试 / 生产)使用不同配置配置复用:多个 Pod 可以共享同一 ConfigMap(1) 先以字符值的形式创建 ConfigMap(2) 查看创建的 ConfigMap。

2025-07-09 11:47:17 977

原创 Kubernetes服务发布基础

service 是 kubernetes 中的一种抽象,用于定义一组 pod 以及访问这一组 pod 的策略、service的作用是将一组 pod 封装为一个虚拟的服务,并提供一个统一的入口,供客户端访问。service 支持负载均衡、服务发现、服务暴露等功能。Service 用于为一组提供服务的 Pod 抽象一个稳定的网络访问地址,是 k8s 实现微服务的核心概念通过 Service 的定义设置的访问地址是 DNS 域名格式的服务名称,对于客户端应用来说,网络访问方式并没有改变。

2025-07-06 15:39:44 798

原创 Kubernetes Pod调度基础

无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息。这种服务叫做无状态服务。无状态服务:就是没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数(服务端自身不存储跟请求相关的任何数据,不包括数据库存储信息)如果在启动一个服务时,不依赖于该服务之前的运行状态,或者不依赖于其他服务,这个服务就是无状态服务;

2025-07-01 16:01:11 801

原创 Kubernetes Pod深度解析

Pod 是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及运行规范。在 Pod 中,所有容器都被统一安排和调度。对于具体应用而言,Pod 是它们的逻辑主机,Pod 包含业务相关的多个应用容器。所以,Pod 是一组具有共享命名空间、IP 地址和端口的容器的集合。

2025-06-30 15:25:26 802

原创 Containerd 容器

Containerd是一个开源的容器运行时管理工具,最初由 Docker 公司开发,后来捐赠给云原生计算基金会(CNCF),成为其孵化项目。它的核心定位是提供从容器镜像下载、管理到容器运行的全生命周期管理能力,是构建容器化应用基础设施的关键组件。

2025-06-25 14:29:26 1155

原创 Docker环境部署

目录一、 Docker 概述1. Docker 是什么2. Docker 的核心概念3. Docker 的优势4. Docker 的核心技术5. Docker 与虚拟机的对比二、Docker 安装1. 关闭防火墙2. 下载 Docker 的 repo 文件3. 替换仓库地址4. 更新索引并安装 Docker5. 添加国内镜像站6. 开启 Docker 服务7. 优化内核参数三、 Docker 镜像操作1. 获取镜像2. 查看镜像信息3. 查看镜像的详细信息4. 修改镜像标签5. 删除镜像。

2025-06-20 15:08:45 1190

原创 OpenStack入门体验

一、 OpenStack 简介OpenStack 是一个开源的云计算平台,主要用于构建和管理大规模的云计算基础设施,提供类似于亚马逊 AWS、微软 Azure 的云服务能力。它由一系列模块化的组件组成,支持弹性扩展、资源池化和自动化管理,是开源云计算领域的核心项目之一。

2025-06-18 20:13:15 719

原创 KVM 高级功能部署

合并相同内存页,提升虚拟机密度。检查系统支持,若返回则支持。配置文件路径,常用参数:run:控制 KSMD 运行(0 停止,1 启动,2 停止并分离页):扫描内存页数:休眠时间(毫秒)

2025-06-17 14:14:52 1148

原创 部署KVM虚拟化平台

是一种开源的虚拟化技术,基于 Linux 内核实现,允许在单一物理服务器上运行多个隔离的虚拟机(VM)。它将 Linux 内核转变为一个 hypervisor(虚拟机监视器),直接利用硬件虚拟化功能(如 Intel VT-x 或 AMD-V)来实现高效的虚拟化。

2025-06-16 16:56:15 1157

原创 ELK 日志分析系统

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因,经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。

2025-06-13 16:34:37 1088

原创 FastDFS 分布式存储

比如一个 group 内有 A、B、C三个storage server,A向C同步到进度为T1(T1以前写的文件都已经同步到B上了),B向C同步到时间戳为T2(T2 >T1),tracker 接收到这些同步进度信息时,就会进行整理,将最小的那个做为C的同步时间戳,本例中T1 即为C的同步时间戳为 T1(即所有 T1 以前写的数据都已经同步到C上了):同理,根据上述规则,tracker 会为A、B生成一个同步时间戳。客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

2025-06-12 15:38:43 1086

原创 GFS 分布式文件系统

GlusterFS 是一个开源的分布式文件系统,作为 Scale-Out 存储解决方案 Gluster 的核心,具备强大的横向扩展能力,通过添加节点可支持数 PB 级存储容量。它借助 TCP/IP 或 InfiniBand RDMA 网络汇聚分散的存储资源,提供统一存储服务,并使用单一全局命名空间管理数据。基于可堆叠的用户空间和无元设计,能为不同数据负载提供优异性能。GlusterFS 主要由存储服务器(Brick Server)、客户端及 NFS/Samba 存储网关(可选)组成。

2025-06-11 14:07:02 857

原创 MongoDB 数据库应用

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

2025-06-10 14:18:38 1242

原创 NoSQL 之 Redis 集群

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

2025-06-09 14:47:22 1295

原创 Redis 主从 + 哨兵集群部署

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

2025-06-06 12:01:24 3302

原创 Redis 配置与优化

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

2025-06-05 14:31:27 1077

原创 Kafka 消息队列

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

2025-06-04 19:09:28 1498

原创 Nginx + Tomcat 负载均衡、动静分离群集

Apache Tomcat 是一个开源的 Servlet 容器,由 Apache 软件基金会开发和维护。它实现了 Java Servlet、JavaServer Pages (JSP)、Java Expression Language (EL) 和 WebSocket 等技术规范,是运行 Java Web 应用程序的核心平台。

2025-06-03 14:44:44 2783

原创 使用Haproxy搭建Web群集

HAProxy(High Availability Proxy)是一款开源的高性能负载均衡与反向代理软件,主要用于分布式系统中分发客户端请求到多个后端服务器,以提高系统的可用性、扩展性和性能。它支持四层(TCP)和七层(HTTP/HTTPS)负载均衡,广泛应用于 Web 服务、数据库集群、消息队列等场景。

2025-06-01 18:45:07 1200

原创 LVS + Keepalived 高可用群集

Keepalived 的官方网站位于 http://www.keepalived.org/,在非 LVS 群集环境中使用时,Keepalived 也可以作为热备软件使用。

2025-05-29 16:31:26 2810

原创 LVS 负载均衡群集

LVS-DR (Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一种工作模式。

2025-05-28 14:13:56 990

原创 LVS 负载均衡群集

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

2025-05-27 14:50:21 1280

原创 Python 网络编程

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

2025-05-26 14:43:57 959

原创 Python 操作 MySQL 数据库

连接池技术能够在高并发场景下提升数据库连接的效率。在连接池中,多个数据库连接被提前创建并放入池中,客户端通过池获取连接,而不是每次都建立新的连接。这大大减少了连接创建和销毁的开销。允许脏读,最低的隔离级别,性能最好,但容易出现数据不一致的情况。解决了脏读问题,但可能出现不可重复读。解决了脏读和不可重复读问题,但可能出现幻读。解决了所有问题,但性能最差,可能导致事务长时间等待。在选择事务隔离级别时,需要根据应用的具体需求平衡数据一致性和性能。如果事务数据不频繁冲突可以选择较低的隔离级别以提升性能;

2025-05-24 11:11:57 1165

原创 初识 Flask 框架

Flask 作为一个微框架,强调简单性和灵活性。Werkzeug:这是 Flask 的底层库,提供了 WSGI 接口、HTTP 请求和响应处理、路由等核心功能,。Jinja2:一个功能强大的模板引擎,用于动态生成 HTML 页面。Flask 的设计目的是让开发者能够快速开发应用,并提供了灵活的方式进行扩展。如果你不需要复杂的功能,Flask 的核心本身已经足够满足需求。如果你需要更多高级特性,可以通过 Flask 的扩展库进行补充。

2025-05-23 17:27:02 1604

原创 python 实现 web 请求与相应

本文介绍了Web请求与响应的基本概念,包括请求和响应的组成部分、HTTP协议概述以及常见的HTTP状态码。接着,详细讲解了Python的requests库,包括安装、发送GET和POST请求、处理响应头和状态码、发送带查询参数的GET请求以及带表单数据的POST请求。此外,还介绍了如何处理JSON响应和Python中的文件操作,包括文件的打开模式、读取和写入文件、文件操作中的注意事项、其他常用文件操作以及错误处理与异常捕获。通过这些内容,读者可以掌握基本的Web通信和文件操作技能。

2025-05-22 14:07:34 1056

原创 PostgreSQL 日常维护

PostgreSQL 支持标准的SQL类型 int、smallint、real、double precision、char(N)、varchar(N)、date、time、timestamp和interval,还支持其他的通用功能的类型和丰富的几何类型。SQL 转储方法的思想是创建一个由 SQL命令组成的文件,当把这个文件回馈给服务器时,服务器将利用其中的 SQL 命令重建与转储时状态一样的数据PostgresqL 为此提供了工具 pg_dump。pg_dump 生成的文本文件可以由 psq1 程序读取。

2025-05-21 18:39:49 1149

原创 PostgreSQL 初体验

在逻辑层面上PostgreSqL 包含了数据库集群、表空间、数据库、Schema、表、索引等结构;属于"一对多"的关系在 PostgreSQL 集群中:一个表空间可以让多个数据库使用:而一个数据库可以使用多个表空间。属于"多对多"的关系。PostgreSQL 数据库的软件目录通常是在/usr 目录下(也可自定义位置),使用 pg_confg 命令可以看到当前数据库的基本情况,也可以在环境变量中可以看到。是用来存储系统目录对象、用户表、用户表 index、和临时表、临时表 index、内部临时表的默认空间。

2025-05-21 10:59:39 1174

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

MySQL 每秒钟都在进行大量、复杂的查询操作,对盘的读写量可想而知。所以通常认为磁盘 I/0 是制约 MySQL 性能的最大因素之一,通常是使用RAID-0+1 磁盘阵列,注意不要尝试使用 RAID-5,MySQL 在 RAID-5 磁盘阵列上的效率并不高。由于 mysql 数据库的参数:maxconnect_errors,其默认值是 10当大量(max connect errors)的主机去连接 MySQL,总连接请求超过了 10 次,新的连接就再也无法连接上 MySQL 服务。

2025-05-20 18:05:53 1109

原创 MySQL高可用

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

2025-05-20 08:51:19 520

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

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

2025-05-14 20:32:48 397

原创 MySQL 全量、增量备份与恢复

数据库备份可以分为物理备份和逻辑备份。物理备份是对数据库操作系统物理文件(如数据文件、日志文件等)的备份。这种类型的备份适用于在出现问题时需要快速恢复的大型重要数据库。物理备份又可以分为冷备份(脱机备份)、热备份(联机备份)和温备份。冷备份:在数据库关闭状态下进行备份操作。热备份:在数据库处于运行状态时进行备份操作,该备份方法依赖数据库的日志文件。温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作。逻辑备份。

2025-05-12 18:29:57 774

原创 MySQL 索引和事务

当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当做一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储数据结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Search)的过程,平均需要访问N/2的数据块,N是表示所占据的数据块数目。如果这个字段是一个非主键字段,那么需要在N个数据块上搜索整个表格空间。

2025-05-10 16:57:04 611

原创 MySQL 数据库操作

数据库目前标准的指令集是 SQL。SQL是 Structured Query Language 的缩写,即结构化查询语言。它是1974年由 Boyce 和 Chamberlin 提出来的,1975~1979 年 IBM 公司研制的关系数据库管理系统原型 System R实现了这种语言。经过多年的发展,SQL 语言得到了广泛的应用。SQL 语音主要由以下几部分组成。DDL (Data Definition Language,数据定义语言)

2025-05-09 19:21:05 755

原创 MySQL 数据库

使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点。可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。可以有效地保持数据信息的一致性、完整性,降低数据几余。可以满足应用的共享和安全方面的要求。数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。

2025-05-08 16:37:47 1072

原创 Nginx 性能调优与深度监控

修改 Nginx 的配置文件的 worker_processes 参数,一般设为 CPU 的个数或者核数,在高并发的情况下可设置为CPU 个数或者核数的2倍,可以査看 CPU 的核数以确定参数。Nginx 没有类似 Apache 的 cronlog 日志分割处理功能,但是可以通过 Nginx 的信号控制功能脚本来实现日志的自动切割,并将脚本加入到 Linux 的计划任务中,让脚本在每天的固定时间执行,便可实现日志切割功能。太大的日志文件对监控是一个大灾难,不便于分析排查,需要定期的进行日志文件的切割。

2025-05-07 13:50:46 923

原创 Nginx 安全防护与 HTTPS 部署

(1)TLS 握手阶段客户端发送支持的加密套件列表。服务器选择加密套件,返回证书(含公钥)。客户端验证证书,生成随机预主密钥(用服务器公钥加密)。双方计算生成对称密钥(用于后续数据加密)。(2)数据传输阶段:使用对称加密传输数据,哈希算法校验完整性。

2025-05-06 16:28:26 1534

空空如也

空空如也

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

TA关注的人

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