- 博客(37)
- 收藏
- 关注
原创 Kubernetes Pod 调度基础
有时候我们需要在每个 Kubernetes 节点或符合条件的节点上都部署某个应用,那么就可以使用Kubernetes 的 Daemonset 调度 Pod。Daemonset 确保全部(或符合条件)的节点上运行一个 Pod 副本当有新的节点加入集群时,也会为他们新增一个 Pod,当节点从集群中移除时,这些 Pod 会被回收,删除Daemonset 将会删除它创建的所有的 Pod。
2025-07-22 13:35:26
930
原创 Kubernetes 架构原理与集群环境部署
Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在 ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如k8s-master 节点上査看节点信息都是“Not Ready”状态、Pod 的 coreDNS 无法提供服务等。这些要求并不是所有集群分布的默认要求。此步骤是拉取 k8s 所需的镜像,如果已经有离线镜像,可以直接导入,这一步就不需要了。
2025-07-17 17:50:07
1132
原创 Containerd 容器技术详解
主题内容定义Containerd(Container Daemon)是一个开源的容器运行时,用于管理容器的生命周期。主要特点容器生命周期管理(创建、运行、暂停、恢复、停止、销毁)标准化接口(与Kubernetes等集成)镜像管理(支持拉取、推送、保存、加载,遵循OCI规范)插件体系结构(可扩展存储驱动、网络插件等)跨平台支持(多操作系统兼容)安全性和隔离(严格的容器隔离措施)与Kubernetes集成作为Kubernetes的默认容器运行时,紧密集成,支持容器工作负载管理。起源与背景。
2025-07-14 17:54:00
760
原创 容器技术技术入门与 Docker 环境部署
因为 Docker 轻便、快速的特性,可以使应用达到快速迭代的目的。每次小的变更,马上就可以看到效果,而不用将若干个小变更积攒到一定程度再变更。每次变更一小部分其实是一种非常安全的方式,在开发环境中能够快速提高工作效率。Docker 容器能够帮助开发人员、系统管理员、质量管理和版本控制工程师在一个生产环节中一起协同工作。制定一套容器标准能够使系统管理员更改容器的时候,程序员不需要关心容器的变化,而更专注自己的应用程序代码。从而隔离开了开发和管理,简化了开发和部署的成本。特性Docker 容器技术。
2025-07-08 17:55:39
1015
原创 OpenStack 云平台管理
OpenStack 大部分管理功能可通过 Dashboard 操作,熟练掌握对运维工程师重要。Dashboard 图形化界面简化管理任务、降低出错概率。本章通过云主机创建过程,学习 Dashboard 界面基本操作,及网络、路由、实例类型、镜像、安全组、卷、密钥对、快照等功能操作方法。
2025-07-07 17:56:36
888
原创 KVM 高级功能部署
企业内部为了使服务器资源达到最大化利用,通常都会进行 KVM 虚拟化,每台服务器上运行多台 KVM 虚拟机。随着 KVM 虚拟机数量的不断增多,个别服务器会出现资源过载现象,这时候就需要对部分KVM 虚拟机进行迁移,迁移到负载相对较低的服务器上。为了解决以上问题,针对可停机的KVM 虚拟机,可使用静态迁移的方式来迁移 KVM虚拟机。针对在线提供服务、不可停机的KVM 虚拟机,可使用基于共享存储的动态迁移或基于数据块的动态迁移来完成迁移工作。
2025-07-03 17:29:59
620
原创 FastDFS 分布式存储
FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFs 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传,下载等服务。
2025-06-30 17:34:29
890
原创 GFS分布式文件系统
GlusterFS 是一个开源的分布式文件系统,同时也是 Scale-Out 存储解决方案 Gluster的核心,在存储数据方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数 PB 级别的存储容量。GlusterFS 借助 TCP/IP 或 InfiniBand RDMA 网络将分散的存储资源汇聚在一起,统一提供存储服务,并使用单一全局命名空间来管理数据。GlusterFS 基于可堆叠的用户空间以及无元的设计,可为各种不同的数据负载提供优异的性能。
2025-06-29 14:59:22
1008
原创 MongoDB
MongoDB 是一个文档型数据库,数据以类似JSON 的文档形式存储。MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。MongoDB 使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。
2025-06-26 17:42:37
875
原创 Redis哨兵模式
在一主多从的 Redis 架构中,从节点可以起到数据几余备份和读写分离的作用。如果主节点遇到故障导致无法提供服务时,可以采用手动方式将其一个从节点提升为主节点,保证 Redis主从能够正常工作。主从切换通过手动完成比较耗时、费力,并且影响 Redis 正常服务。为此,Reids 提供了哨兵功能,实现了自动化的系统监控和故障恢复功能。哨兵(Sentinel),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。哨兵是一个独立的进程。
2025-06-24 17:19:52
1031
原创 Redis配置与优化
特性关系数据库 (RDBMS)非关系型数据库 (NoSQL)数据模型表格结构,严格的行列关系多样化的模型:键值对、文档、列存储、图数据库等查询语言使用标准SQL无统一标准,各数据库有自己的查询语法Schema需要预定义表结构(强Schema)动态Schema或无Schema(灵活结构)扩展性通常垂直扩展(提升单机性能)通常水平扩展(增加节点)事务支持完整ACID支持(原子性、一致性、隔离性、持久性)通常不支持完整ACID,多为BASE原则(最终一致性)一致性强一致性通常为最终一致性性能。
2025-06-23 17:28:06
677
原创 LVS负载均衡群集
Haproxy 是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如 LVS 和 Nginx。相比较而言,LVS 性能最好,但是搭建相对复杂;Nginx 的 upstream 模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有 Haproxy 好。Haproxy 官方网站是http://www.haproxy.org/。
2025-06-19 16:45:46
601
原创 LVS+Keepalived高可用群集
目录一:Keepalived 双机热备基础知识提取1:Keepalived概述2:Keepalived 的安装与服务控制(1)安装Keepalived(2)控制Keepalived 服务3:使用 Keepalived 实现双机热备(1)主服务器的配置(2)备用服务器配置(3)测试双机热备功能二:使用 Keepalived 实现双机热备1:基础环境配置2:配置主调度器(1)全局配置、热备配置(2)Web 服务器池配置(3)重新启动 Keepalived 服务3:配置从调度器4:配置Web节点服务器5:测试 L
2025-06-18 17:15:51
1065
原创 LVS 负载均衡群集
LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用,节点 Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过 Director Server。在每个节点服务器,同样需要具有 VIP 地址 192.168.10.100,但此地址仅用作发送 Web 响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。在 DR 模式的群集中,LVS 负载调度器作为群集的访问入口,但不作为网关使用;
2025-06-17 17:54:25
767
原创 LVS 负载均衡群集
根据实际企业环境的不同,群集所提供的功能也各不相同,采用的技术细节也可能各有千秋。然而从整体上来看,需要先了解一些关于群集的共性特征,才能在构建和维护群集的工作中做到心中有数,避免操作上的盲目性。
2025-06-16 17:42:11
1167
原创 Flask 框架
Flask 作为一个微框架,强调简单性和灵活性。Werkzeug:这是 Flask 的底层库,提供了 WSGI 接口、HTTP 请求和响应处理、路由等核心功能。Jinja2:一个功能强大的模板引擎,用于动态生成 HTML 页面。Flask 的设计目的是让开发者能够快速开发应用,并提供了灵活的方式进行扩展。如果你不需要复杂的功能,Flask的核心本身已经足够满足需求。如果你需要更多高级特性,可以通过 Flask 的扩展库进行补充。
2025-06-13 17:45:46
834
原创 Python实现web请求与相应
Web 请求与响应是 Web 通信的基础。Web 请求由客户端发起,服务器处理后返回响应。组成部分Web 请求Web 响应行/状态行请求行:请求方法(GET, POST等)、URL、HTTP协议版本(如HTTP/1.1)响应行:HTTP协议版本、状态码(如200)、状态消息(如OK)头信息请求头:客户端信息、请求体类型(如Content-Type)、浏览器类型等元数据响应头:内容类型(如Content-Type)、服务器信息等元数据主体内容请求体:POST请求中提交的数据(如表单、文件)
2025-06-13 09:48:02
632
原创 PostgreSQL日常维护
对象型数据库是一种基于面向对象编程模型的数据库管理系统,它将数据和操作数据的方法(函数或过程)封装为一个完整的 “对象”,并按照面向对象的概念(如类、继承、多态等)组织和管理数据。核心思想:直接存储和管理对象(如编程语言中的对象实例),避免传统关系型数据库中 “对象 - 关系” 映射的复杂性,适用于处理复杂数据结构(如图形、多媒体、复杂业务逻辑等)。对象型数据库的优势在于处理复杂数据结构和面向对象业务逻辑,适用于需要高灵活性和快速迭代的场景(如互联网应用、实时数据处理)。实体关系型数据库。
2025-06-11 17:24:50
949
原创 MySQL故障排查与生产环境优化
图中,最上层是一些客户端和连接服务,包含本地sock 通信和大多数基于客户端/服务器端工具实现的 TCP/IP 通信。主要完成一些连接处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。第二层架构主要完成大多数的核心服务功能,如SQL 接口、缓存的查询、SQL的分析和优化以及部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。
2025-06-09 17:48:34
1187
1
原创 MySQL主从复制与读写分离
在实际的生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,一般来说都是通过主从复制(Master-Slave)来同步数据,再通过读写分离来提升数据库并发负载能力的方案来进行部署与实施。如图所示,一台主 MySQL 服务器带两台从 MySQL 服务器做数据复制,前端应用在进行数据库写操作时,对主服务器进行操作,在进行数据库读操作时,对两台从服务器进行操作,这样大量减轻了对主服务器的压力。
2025-06-06 21:53:37
974
原创 MySQL 索引和事务
索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。索引的作用类似于图书的目录,可以根据目录中的页码快速找到所需的内容。当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。
2025-05-29 17:17:33
865
原创 MySQL数据库操作
数据库目前标准的指令集是 SQL。SQL是 Structured Query Language 的缩写,即结构化查询语言。它是1974年由 Boyce 和 Chamberlin 提出来的,1975~1979 年 IBM 公司研制的关系数据库管理系统原型 System R实现了这种语言。经过多年的发展,SQL语言得到了广泛的应用。SQL 语言主要由以下几部分组成。DDL。
2025-05-29 10:16:43
798
原创 Nginx 核心功能
正向代理(Forward Proxy)是一种位于客户端和原始服务器之间的代理服务器,其主 要作用是将客户端的请求转发给目标服务器,并将响应返回给客户端 Nginx 的 正向代理 充当客户端的“中间人”,代表用户访问外部资源并隐藏真实 IP。Nginx 的配置及运行需要 pcre、zlib 等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保 Nginx 的安装顺利完成。第三步:服务端接收到Nginx发来的请求,则返回数据A到Nginx,并且缓存在Nginx;
2025-05-22 13:55:37
1234
原创 Nginx 网站服务
Nginx与 Apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与 Apache 基本一致。概括为以下几个步骤。生成用户密码认证文件。修改主配置文件相对应目录,添加认证配置项。重启服务,访问测试。deny IP/IP 段:拒绝某个IP或IP 段的客户端访问allow IP/IP 段:允许某个IP或IP 段的客户端访问。规则从上往下执行,如匹配则停止,不再往下匹配。
2025-05-21 10:07:40
957
原创 iptables 防火墙
随后,深入解析了 iptables 的表链结构,包括 filter、nat、mangle 和 raw 四个表及其各自包含的链,以及数据包在不同链中的处理流程。链内的过滤遵循“匹配即停止”的原则,一旦找到一条相匹配的规则(使用 LOG 日志操作的规则除外,2.2.3 节会介绍),则不再检查本链内后续的其他规则。在了解 iptables 基础结构后,本章进一步探讨了数据包过滤的匹配流程,包括规则表之间的顺序、规则链之间的顺序以及规则链内部各条规则之间的顺序。删除一条防火墙规则时,使用管理选项“-D”。
2025-05-15 17:40:01
885
原创 Shell 编程之正则表达式与文本处理器
字符说明将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符匹配输入字符串的开始位置匹配输入字符串的结束位置匹配前面的子表达式零次或多次匹配前面的子表达式一次或多次?匹配前面的子表达式零次或一次匹配除换行符(\n\r)之外的任何单个字符[a-z]字符范围。匹配指定范围内的任意字符{n}n 是一个非负整数,匹配确定的 n 次{n,}n 是一个非负整数,至少匹配 n 次{n,m}m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次\d匹配一个数字字符。
2025-05-10 17:51:26
1364
原创 Shell 编程之函数与数组
函数:函数是 shell 脚本中组织代码、提高复用性的重要手段。通过将一系列指令封装成函数,可以避免代码重复,使脚本更加简洁易读。函数的定义与调用简单直观,支持参数传递和递归调用,为模块化开发提供了便利。数组:作为 Shell 脚本中的一种重要数据结构,数组支持存储多个值,并提供了丰富的操作方法,如获取数组长度、读取和赋值、遍历、切片、替换和删除元素等。这些功能在处理一组相关数据时非常有用。调试与测试: 在 Shell 脚本编写过程中,调试与测试是确保脚本正确运行的关键环节。
2025-05-09 17:25:46
1247
原创 Shell 编程之循环语句
针对上面的需求,可编写一个名字为 until-user online to _write.sh 的 shell 脚本,用于给已登录用户发送消息,对用户进行检测,必须是系统内用户并且处于登录状态,通过 Linux 的 write 命令来发送消息,具体的脚本如下所示。中央电视台著名的“时尚购物街”节目中,有一个猜价格的互动环节,要求参与者在最短的时间内猜出展示商品的实际价格,当所猜的价格高出或低于实际价格时,主持人会给出相应的提示。依此类推,直到列表中的所有取值用完,最后将跳至 done 语句,表示结束循环。
2025-05-08 17:42:10
807
原创 Shell 编程规范与变量
在一些复杂的 Linux 维护工作中,大量重复性的输入和交互操作不仅费时费力,而且容易出错,而编写一个恰到好处的 shell 脚本程序,可以批量处理、自动化地完成一系列维护任务,大大减轻管理员的负担。
2025-05-07 17:44:26
1058
原创 Shell编程之条件语句
if 条件语句作为 She11 脚本中最常用的流程控制方式,其单分支、双分支和多分支结构让我们能够根据不同的条件执行相应的命令序列,使得脚本程序更加灵活和强大。而 case 分支语句则适用于处理变量的多种取值情况,通过简洁的模式匹配和命令序列执行,使得脚本结构更加清晰和易于维护。
2025-05-07 16:28:48
940
原创 部署DNF仓库及NFS共享服务
本章系统阐述了 DNF 软件仓库与 NFS 共享服务的配置与管理方法。DNF 部分,从全局配置到本地/远程仓库的搭建,详细解析了软件源添加、启用、禁用及软件包安装、更新、删除等操作,强调通过 createrepo创建本地仓库及 dnf config-manager 管理源的灵活性。NFS 部分,通过安装 nfs-utils和rpcbind,配置共享目录权限,并结合 systemctl启停服务,实现跨主机的文件共享;客户端的挂载与自动加载(/etc/fstab)进一步提升了资源访问的便捷性。
2025-04-29 16:39:24
1072
原创 进程和计划任务管理
本章系统讲解了 Linux 进程管理与计划任务调度的核心知识与实践技能。进程管理部分,通过 ps、top、pstree 等工具实现进程的静态与动态监控,结合ki11、killal1、pki11 等命令完成进程的精准控制,覆盖前台/后台切换、挂起恢复及强制终止等场景。计划任务管理部分,详细解析了 at 一次性任务与 crontab周期性任务的配置方法,包括时间表达式语法、配置文件路径及任务管理命令(如 crontab -e、atq、atrm)。
2025-04-28 15:41:27
914
原创 引导过程与服务控制
本章系统解析了 Linux 操作系统的引导机制与服务管理方法。首先,从开机自检到 Systemd 初始化进程的完整引导流程被详细拆解,强调 MBR、GRUB 及内核加载的关键作用;其次,针对 MBR扇区损坏、GRUB配置丢失、root 密码遗忘等常见启动故障,提供了备份恢复、急救模式操作等解决方案。在服务控制方面,通过 systemctl 命令实现服务的精细化管控,并结合运行级别切换优化系统资源分配。
2025-04-27 16:28:42
663
原创 磁盘管理与LVM
概念说明类比传统分区物理卷 (PV)物理硬盘或分区,通过pvcreate初始化为 LVM 可管理的存储单元。直接使用的硬盘(如/dev/sda1卷组 (VG)由一个或多个 PV 组成的存储池,容量可动态扩展或缩减。无直接对应,类似“存储池”。逻辑卷 (LV)从 VG 中划分的逻辑分区,可动态调整大小、快照、条带化等,最终格式化为文件系统并挂载。传统分区(如/dev/sda2),但灵活性强。本章系统阐述了磁盘管理与LVM的核心知识与操作技能。
2025-04-25 08:26:28
750
原创 Linux账号和权限管理
在 Linux 操作系统中,根据系统管理的需要将用户账号分为不同的类型,主要包括超级用户、普通用户和程序用户,各类型拥有的权限、担任的角色也各不相同。围绕 Linux 系统的账号和权限管理展开。首先介绍了用户账号和组账号,包括其类型、相关配需文件(如 passwd、shadow、group、gshadow)及管理命令(useradd、passwd 等),还提及账号查询命令。
2025-03-27 16:02:57
1058
原创 LINUX安装及管理程序
目录1.1 Linux命令与应用程序的关系1.2 Linux应用程序的组成1.3 软件包的封装类型关键区别总结如何选择?2.1 RPM概述2.2 使用 RPM 软件包管理命令--rpm1.rpm命令的格式2.查询 RPI软件包信息(1)查询已安装的 RPI 软件包信息(2)查询 RPI 软件包文件中的相关信息3.安装、升级、卸载 RPM软件包4. 维护RPM数据库3.1 源代码编译概述3.2 编译安装编译原因必要环境总结 在 Linux 操作系统中,一直以来命令和应用程序并没有特别明确的区别,从长期使用习
2025-03-25 16:17:06
914
原创 Linux系统入门笔记
与 gzip、gunzip 命令相同,当需要解压缩经 bzip2 压缩的文件时,只需使用带“-d”选项的 bzip2命令即可,或者直接使用 bunzip2 命令。使用按键命令 yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。/var:存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等,在实际应用系统中,“/var”目录通常也被划分为独立的分区。这一目录存放了所有用户都可执行的且经常使用的命令,如 cp、1s 等。
2025-03-24 18:50:01
669
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人