- 博客(52)
- 收藏
- 关注
原创 Kubernetes 高级调度02
设置了污点的 Node 将根据 taint 的 effect: NoSchedule、PreferNoschedule、NoExecute 和 Pod之间产生互斥的关系,Pod 将在一定程度上不会被调度到 Node 上。但我们可以在 Pod 上设置容忍(Toleration),意思是设置了容忍的 Pod 将可以容忍污点的存在,可以被调度到存在污点的 Node 上。
2025-07-30 17:33:20
842
原创 Kubernetes 高级调度 01
HPA(Horizontal Pod Autoscaler,水平 Pod 自动伸缩器)可以根据观察到的 CPU、内存使用率或自定义度量标准来自动扩展或缩容 Pod 的数量。注意 HPA 不适用于无法缩放的对象,比如 Daemonset。HPA 控制器会定期调整 RC或 Deployment 的副本数,以使观察到的平均 CPU 利用率与用户指定的目标相匹配。
2025-07-29 17:58:26
576
原创 Kubernetes 存储入门
和之前的挂载方式类似,PVC的挂载也是通过 volumes 字段进行配置的,只不过之前需要根据不同的存储后端填写很多复杂的参数’而使用 PVC进行挂载时,只填写 PVC的名字即可,不需要再关心任何的存储细节,这样即使不是 Kubemetes 管理员,不懂存储的其他技术人员想要使用存储,也可以非常简单地进行配置和使用。所以集群管理员需要根据不同的存储后端来提供各种PV,而不仅仅是大小和访问模式的区别,并且无须让用户了解这些卷的具体实现方式和存储类型,打扫了存储的解耦,降低了存储使用的复杂度。
2025-07-28 17:55:52
682
原创 Kubernetes 配置管理
在传统架构中,配置文件往往被保存在宿主机上,程序启动是可以指定某个配置文件,但是使用容器部署时,容器所在的节点并不固定,所以不能使用这种方式,此处在构建镜像时,如果把配置文件也放在容器里面,那么配置文件一旦有更改的话,也是一件非常麻烦的事情。所以k8s 抽象了一个 ConfigMap的概念,将配置与 pod 和组件分开,这有助于保持工作负载的可移植性,使配置更易于更改和管理。比如在生产环境中,可以将 Nginx、Redis 等应用的配置文件存储在 ConfigMap 上,然后将其挂载即可使用。
2025-07-25 18:01:41
894
原创 Kubernetes 服务发布基础
service 是 kubernetes 中的一种抽象,用于定义一组 pod 以及访问这一组 pod 的策略、service的作用是将一组 pod 封装为一个虚拟的服务,并提供一个统一的入口,供客户端访问。service 支持负载均衡、服务发现、服务暴露等功能。Service 用于为一组提供服务的 Pod 抽象一个稳定的网络访问地址,是 k8s 实现微服务的核心概念通过 Service 的定义设置的访问地址是 DNS 域名格式的服务名称,对于客户端应用来说,网络访问方式并没有改变。
2025-07-22 17:58:52
818
原创 Kubernetes Pod 调度基础
无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息。这种服务叫做无状态服务。无状态服务:就是没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数(服务端自身不存储跟请求相关的任何数据,不包括数据库存储信息)如果在启动一个服务时,不依赖于该服务之前的运行状态,或者不依赖于其他服务,这个服务就是无状态服务;
2025-07-21 17:40:03
698
原创 Containerd 容器技术详解
Containerd(container Daemon)是一个开源的容器运行时,它提供了一种标准化的方式来管理容器的生命周期。该项目最初是由 Docker 开发团队创建的,并在后来成为一个独立的项目,被纳入了 cloudNative computing Foundation(云原生计算基金会 CNCF)的孵化项目中。容器生命周期管理:Containerd 管理容器的生命周期,包括容器的创建、运行、暂停、恢复、停止和销毁等操作。标准化接口。
2025-07-14 17:55:48
875
原创 Dockerfile 镜像制作
Dockfile 是一种被 Docker 程序解释的脚本,Dockerfile 由多条的指令组成,每条指令对应Linux 下面的一条命令。Docker 程序将这些 Dockerfile 指令翻译成真正的Linux 命令。Dockerfile有自己书写格式和支持的命令,Docker 程序解决这些命令间的依赖关系,类似于Makefile。Docker 程序将读取 Dockerfile,根据指令生成定制的镜像。
2025-07-10 17:59:28
615
原创 Docker高级管理--容器通信技术与数据持久化
容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口。该命令的主要功能是基于 centos:7镜像创建并启动一个名为web2 的容器,同时使用 --1ink 选项将这个新容器与名为 web01 的容器进行连接,使 weba2 容器可以通过 webe1 这个别名访问 web01 容器的服务。由于使用了 Host 模式,容器会直接使用宿主机的网络端口,因此可以直接在宿主机上通过localhost 访问容器内的服务,使用 ifconfig 命令可以看到容器的网络和宿主机的是一致的。
2025-07-09 18:00:09
916
原创 容器技术技术入门与 Docker 环境部署
因为 Docker 轻便、快速的特性,可以使应用达到快速迭代的目的。每次小的变更,马上就可以看到效果,而不用将若干个小变更积攒到一定程度再变更。每次变更一小部分其实是一种非常安全的方式,在开发环境中能够快速提高工作效率。Docker 容器能够帮助开发人员、系统管理员、质量管理和版本控制工程师在一个生产环节中一起协同工作。制定一套容器标准能够使系统管理员更改容器的时候,程序员不需要关心容器的变化,而更专注自己的应用程序代码。从而隔离开了开发和管理,简化了开发和部署的成本。
2025-07-08 17:13:25
894
原创 KVM高级功能部署
企业内部为了使服务器资源达到最大化利用,通常都会进行KVM 虚拟化,每台服务器上运行多台 KVM 虚拟机。随着 KVM 虚拟机数量的不断增多,个别服务器会出现资源过载现象,这时候就需要对部分 KVM 虚拟机进行迁移,迁移到负载相对较低的服务器上。为了解决以上问题,针对可停机的KVM 虚拟机,可使用静态迁移的方式来迁移 KVM虚拟机。针对在线提供服务、不可停机的KVM 虚拟机,可使用基于共享存储的动态迁移或基于数据块的动态迁移来完成迁移工作。
2025-07-04 15:44:12
629
原创 部署KVM虚拟化平台
公司部分 Linux 服务器硬件资源利用率不高,为了充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行Nginx的服务器上部署 KVM,然后在 KVM 虚拟机上运行 Tomcat 等服务。广义的 KVM 实际上包含两部分,一部分是基于 Linux 内核支持的 KVM 内核模块,另一部分就是经过简化和修改的 Qemu。KVM 内核模块是模拟处理器和内存以支持虚拟机的运行,Qemu 主要处理 I/0 以及为用户提供一个用户空间工具来进行虚拟机的管理。
2025-07-02 17:47:58
751
原创 ELK日志分析系统
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
2025-07-02 13:28:57
885
原创 FastDFS分布式存储
FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFs 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2025-06-30 17:33:40
1347
原创 MongoDB数据库应用
MongoDB 是一个文档型数据库,数据以类似JSON 的文档形式存储。MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。数据库(Database):存储数据的容器,类似于关系型数据库中的数据库集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。
2025-06-26 17:59:42
733
原创 NoSQL之Redis集群
集群,即 Redis Cluster, 是Redis 3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis 的数据分布在这些节点中。集群中的节点分为主节点和从节点;只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。
2025-06-25 17:57:41
603
原创 redis主从架构与哨兵模式
在一主多从的 Redis 架构中,从节点可以起到数据冗余备份和读写分离的作用。如果主节点遇到故障导致无法提供服务时,可以采用手动方式将其一个从节点提升为主节点,保证 Redis主从能够正常工作。主从切换通过手动完成比较耗时、费力,并且影响 Redis 正常服务。为此,Reids 提供了哨兵功能,实现了自动化的系统监控和故障恢复功能。哨兵(Sentinel),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。哨兵是一个独立的进程。
2025-06-24 17:21:04
542
原创 LVS负载均衡群集
京北点指科技有限公司发布V3版移联建站管理系统,该项目为Java 语言开发的Web 站点。目前,IBM 的 WebSphere 及Oracle 的 WebLogic 占据了市面上 Java 语言 Web 站点的 大部分份额。这两种软件以其无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司 的 Web 场景中,但是其高昂的价格也使得小型互联网公司对此望而却步。
2025-06-20 17:24:39
878
原创 使用Haproxy搭建Web群集
Haproxy 是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如 LVS 和 Nginx。相比较而言,LVS 性能最好,但是搭建相对复杂;Nginx的upstream 模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有 Haproxy 好。本案例介绍使用 Haproxy 及 Nginx 搭建一套 Web 群集。
2025-06-19 17:00:55
864
原创 LVS+Keepalived高可用群集
Keepalived 的官方网站位于 http://www.keepalived.org/,本章将以 YUM方式讲解 Keepalived 的安装、配置和使用过程。在非 LVS 群集环境中使用时,Keepalived 也可以作为热备软件使用。
2025-06-18 18:31:17
1005
原创 LVS负载均衡群集
LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用节点 Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过 Director Server。在每个节点服务器,同样需要具有 VIP 地址 192.168.10.100,但此地址仅用作发送 Web 响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。在 DR 模式的群集中,LVS 负载调度器作为群集的访问入口,但不作为网关使用;
2025-06-17 17:34:12
622
原创 LVS负载均衡群集
根据实际企业环境的不同,群集所提供的功能也各不相同,采用的技术细节也可能各有千秋。然而从整体上来看,需要先了解一些关于群集的共性特征,才能在构建和维护群集的工作中做到心中有数,避免操作上的盲目性。
2025-06-17 12:35:09
953
原创 Python操作MySQL数据库
连接池技术能够在高并发场景下提升数据库连接的效率。在连接池中,多个数据库连接被提前创建并放入池中,客户端通过池获取连接,而不是每次都建立新的连接。这大大减少了连接创建和销毁的开销。READ UNCOMMITTED:允许脏读,最低的隔离级别,性能最好,但容易出现数据不一致的情况。READ COMMITTED:解决了脏读问题,但可能出现不可重复读。REPEATABLE READ:解决了脏读和不可重复读问题,但可能出现幻读。SERIALIZABLE:解决了所有问题,但性能最差,可能导致事务长时间等待。
2025-06-14 17:19:50
1483
原创 初始Flask框架
Flask 作为一个微框架,强调简单性和灵活性。它依赖于两个重要的 Python 库来提供核心功能:Werkzeug:这是 Flask 的底层库,提供了 WSGI 接口、HTTP 请求和响应处理、路由等核心功能Jinja2:一个功能强大的模板引擎,用于动态生成 HTML 页面。Flask 的设计目的是让开发者能够快速开发应用,并提供了灵活的方式进行扩展。如果你不需要复杂的功能,Flask 的核心本身已经足够满足需求。如果你需要更多高级特性,可以通过 Flask 的扩展库进行补充。
2025-06-14 09:39:37
742
原创 Python实现Web请求与响应
Web 请求与响应是 Web 通信的基础。Web 请求由客户端发起,服务器处理后返回响应.。HTTP (Hypertext Transfer Protocol)是Web 上传输数据的协议,负责浏览器与服务器之间的通信。GET:请求服务器获取资源,通常用于读取数据,POST:提交数据到服务器,通常用于表单提交、文件上传等。PUT:更新服务器上的资源。DELETE:删除服务器上的资源。4:常见的 HTTP 状态码包括200 OK:请求成功,服务器返回所请求的数据。
2025-06-13 09:57:18
981
原创 PostgreSQL日常维护
具体说来,就是它必须要有你想备份的表的读 权限,因此为了备份整个数据库你几乎总是必须以一个数据库超级用 户来运行它(如果你没有足够的特权 来备份整个数据库,你仍然可以使用诸如或-t table选项来备份该数据库中你能够访问的部分)由 pg_dump 创建的备份在内部是一致的,也就是说,转储表现了 pg_dump开始运行时刻的数据库快照,且在 pg_dump 运行过程中发生的更新将不会被转储pg_dump 工作的时候并不阻塞其他的对数据库的操作。这意味着每个数据库自身是一致的,但是不同数据库的快照并不同步。
2025-06-12 10:03:58
713
原创 PostgreSQL初体验
PostgreSQL,作为一个功能强大且开源的对象关系型数据库管理系统(ORDBMS),自其诞生以来,便以其卓越的性能和丰富的特性赢得了全球开发者和企业的青睐。源自加利福尼亚大学伯克利分校的PostgreSQL,不仅继承了其前身 Ingres 的精髓,更在不断的发展中推陈出新,成为了现代数据库领域的佼佼者。
2025-06-10 20:03:35
814
原创 MySQL主从复制与读写分离
在实际的生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,一般来说都是通过主从复制(Master-Slave)来同步数据,再通过读写分离来提升数据库并发负载能力的方案来进行部署与实施。如图所示,一台主 MySQL 服务器带两台从 MySQL 服务器做数据复制前端应用在进行数据库写操作时,对主服务器进行操作,在进行数据库读操作时对两台从服务器进行操作,这样大量减轻了对主服务器的压力。
2025-06-06 17:59:22
697
原创 MySQL全量、增量备份与恢复
备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。之前已经学习过如何安装 MySQL,本小节将从生产运维的角度了解备份恢复的分类与方法。(1)增量备份的特点与完全备份不同,增量备份没有重复数据,备份量不大,时间短;但其恢复麻烦,需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复。MySQL 没有提供直接的增量备份办法,可以通过MySQL 提供的二进制日志(binary logs)间接实现增量备份。
2025-06-03 10:37:34
724
原创 MySQL索引和事务
索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。索引的作用类似于图书的目录,可以根据目录中的页码快速找到所需的内容。当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。
2025-05-30 10:28:49
978
原创 MySQL数据库操作
在熟悉安装及访问 MySQL 数据库以后,接下来将学习使用 MySQL 数据库的基本操作,这也是在服务器运维工作中不可或缺的知识。本节中的所有数据库语句均在“mysq1>”操作环境中执行,并且每一条操作语句都是以分号(;)结束的数据库目前标准的指令集是 SQL。SQL是 Structured Query Language 的缩写,即结构化查询语言。它是1974年由Boyce 和Chamberlin 提出来的,1975~1979 年 IBM 公司研制的关系数据库管理系统原型 System R实现了这种语言。
2025-05-29 11:47:05
789
原创 MySQL数据库初体验
使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点。可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。可以有效地保持数据信息的一致性、完整性,降低数据冗余。可以满足应用的共享和安全方面的要求。数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。
2025-05-27 18:43:03
1016
原创 Nginx性能调优与深度监控
GoAccess 是一个开源实时,Web 日志分析器和交互式査看器,可在 Linux 系统上的 终端中或通过浏览器运行。它为需要动态可视化服务器报告的系统管理员提供快速且有价值的 HTTP 统计信息。GoAccess 解析指定的 Web日志文件并将数据输出到X终端。特点包括:完全实时:所有面板和指标都定时在终端输出上每200毫秒更新一次,在HTML 输出上每秒更新一次。所需的最少配置:您只需针对访问日志文件运行它,选择日志格式,然后让GoAccess 解析访问日志并向您显示统计信息。
2025-05-27 09:47:07
884
原创 Nginx 安全防护与HTTPS部署实战
一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。TLS经历了多个版本的演进,包括TLS1.0(1999年发布,基于 SSL 3.0 但进行了改进)、TLS 1.1(2006 年发布,增加了对 CBC 攻击的保护)、TLS 1.2(2008 年发布,引入了更强大的加密算法,如 AES)和 TLS 1.3(2018年发布,进一步简化了握手过程,提高了性能和安全性)。身份认证:确认对方的真实身份,即证明“你妈是你妈”的问题,这样就解决了冒充风险,用户不用担心访问的是某宝结果却在和钓鱼网站通信的问题;
2025-05-25 20:46:28
1490
原创 Nginx核心功能
上述配置中,使用upstream定义后端应用服务器的地址池“backend”,在location块中,使用proxy pass,转发请求至后端地址池,proxy set header Host $host:将请求中的Host头部设置为客户端请求的主机名,proxy set header X-Real-IP $remote addr:将请求中的 X-Real-IP 头部设置为客户端的真实 IP 地址。反向代理服务的特点是代理服务器代理的对象是应用服务器,也就是对于浏览器/客户端 来说应用服务器是隐藏的。
2025-05-22 19:32:41
1102
原创 Nginx网站服务
Nginx与 Apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与 Apache 基本一致。概括为以下几个步骤。生成用户密码认证文件。修改主配置文件相对应目录,添加认证配置项。重启服务,访问测试。基于客户端的访问控制是通过客户端IP 地址,决定是否允许对页面访问。Nginx 基于客户端的访问控制要比 Apache 简单,规则如下:deny IP/IP 段:拒绝某个 |P 或 IP 段的客户端访问。
2025-05-21 11:55:57
622
原创 Web技术与Nginx网站环境部署
网页是一个文件,他存放在世界某个角落的某一部计算机中,而这部计算机必须是与互联网相连的。网页经由网址(URL)来识别与存取,是互联网中的一“页”。文本:文本是网页上最重要的信息载体与交流工具,网页中的主要信息一般都以文本形式为主。图像:图像元素在网页中具有提供信息并展示直观形象的作用。动画在网页中的作用是有效地吸引访问者更多的注意。声音:声音是多媒体和视频网页重要的组成部分。视频:视频文件的采用使网页效果更加精彩且富有动感。表格:表格是在网页中用来控制页面信息的布局方式、导航栏。
2025-05-20 09:47:18
1212
原创 系统安全及应用
在执行过程中,分析出来的弱口令账号将即时输出,第一列为密码字串,第二列的括号内为相应的用户名(如用户 kadmin 的密码为“123456”)。默认情况下,john 将针对常见的弱口令设置特点,尝试破解已识别的所有密文字串,如果检测的时间太长,可以按 ctr1+C组合键强行终止。John the Ripper 是一款开源的密码破解工具,能够在已知密文的情况下快速分析出明文的密码字串,支持 DES、MD5 等多种加密算法,而且允许使用密码字典(包含各种密码组合的列表文件)来进行暴力破解。
2025-05-19 09:41:12
925
原创 firewalld 防火墙
firewalld 的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则告诉netfilter 对来自指定源、前往指定目的或具有某些协议特征的数据包采取何种处理方式为了更加方便地组织和管理防火墙,firewalld 提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4、IPv6 防火墙设置以及以太网桥,并且拥有两种配置模式:运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。
2025-05-17 08:11:42
956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人