- 博客(60)
- 收藏
- 关注
原创 Kubernetes高级调度1
HPA(Horizontal Pod Autoscaler,水平 Pod 自动伸缩器)可以根据观察到的 CPU、内存使用率或自定义度量标准来自动扩展或缩容 Pod 的数量。注意 HPA 不适用于无法缩放的对象,比如 Daemonset.HPA 控制器会定期调整 RC或 Deployment 的副本数,以使观察到的平均 CPU 利用率与用户指定的目标相匹配。
2025-07-29 17:58:19
421
原创 Kubernetes存储入门
和之前的挂载方式类似,PVC的挂载也是通过 volumes 字段进行配置的,只不过之前需要根据不同的存储后端填写很多复杂的参数’而使用 PVC进行挂载时,只填写 PVC的名字即可,不需要再关心任何的存储细节,这样即使不是 Kubemetes 管理员,不懂存储的其他技术人员想要使用存储,也可以非常简单地进行配置和使用。所以集群管理员需要根据不同的存储后端来提供各种 PV,而不仅仅是大小和访问模式的区别,并且无须让用户了解这些卷的具体实现方式和存储类型,打扫了存储的解耦,降低了存储使用的复杂度。
2025-07-28 17:56:40
878
原创 Kubernetes配置管理
在传统架构中,配置文件往往被保存在宿主机上,程序启动是可以指定某个配置文件,但是使用容器部署时,容器所在的节点并不固定,所以不能使用这种方式,此处在构建镜像时,如果把配置文件也放在容器里面,那么配置文件一旦有更改的话,也是一件非常麻烦的事情。所以k8s 抽象了一个configMap的概念,将配置与 pod 和组件分开,这有助于保持工作负载的可移植性,使配置更易于更改和管理。比如在生产环境中,可以将 Nginx、Redis 等应用的配置文件存储在 configMap 上,然后将其挂载即可使用。
2025-07-25 20:39:47
1131
1
原创 Kubernetes服务发布进阶
ingress-controller 并不是 k8s 自带的组件,实际上 ingress-controller 只是一个统称,用户可以选择不同的 ingress-controller 实现,目前,由 k8s 维护的 ingress-controller 只有 google云的 GCE与 ingress-nginx 两个,其他还有很多第三方维护的 ingress-controller,具体可以参考官方文档。测试环境使用还行,当有几十上百的服务在集群中运行时,NodePort 的端口管理就是个灾难。
2025-07-24 17:50:39
975
原创 kubernetes服务发布基础
service 是 kubernetes 中的一种抽象,用于定义一组 pod 以及访问这一组 pod 的策略、service的作用是将一组 pod 封装为一个虚拟的服务,并提供一个统一的入口,供客户端访问。service 支持负载均衡、服务发现、服务暴露等功能。Service 用于为一组提供服务的 Pod 抽象一个稳定的网络访问地址,是 k8s 实现微服务的核心概念通过 service 的定义设置的访问地址是 DNS 域名格式的服务名称,对于客户端应用来说,网络访问方式并没有改变。
2025-07-22 19:23:50
803
原创 Kubernetes Pod调度基础
无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息。这种服务叫做无状态服务。无状态服务:就是没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数(服务端自身不存储跟请求相关的任何数据,不包括数据库存储信息)
2025-07-21 23:37:55
675
原创 kubernetes pod 深度解析
Pod 是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及运行规范。在 Pod 中,所有容器都被统一安排和调度。对于具体应用而言,Pod 是它们的逻辑主机,Pod 包含业务相关的多个应用容器。所以,Pod 是一组具有共享命名空间、IP地址和端口的容器的集合。用户通过 kubectl 或其他工具提交 Pod 的 YAML 或 JSON 定义文件到 Kubernetes API Server。
2025-07-18 21:34:00
1222
原创 Kubernetes架构原理与集群环境部署
很多人会有疑问,有了 Docker 为什么还用 Kubernetes?在业务开始进行容器化时,前期需要容器化的项目可能并不多,涉及的容器也并不多,此时基于Docker 容器直接部署至宿主机也能实现基本的需求。但是随着项目越来越多,管理的容器也会越来越多,此时使用“裸容器”部署的方式管理起来就显得很吃力,并且随着业务量的增加,会明显体会到“裸容器的不足。比如:宿主机宕机造成该宿主机上的容器不可用,且无法自动恢复。容器明明在运行,接口就是不通(健康检查做得不到位)应用程序部署、回滚、扩缩容困难。
2025-07-17 14:22:45
1235
原创 Containerd容器技术详解
Containerd(container Daemon)是一个开源的容器运行时,它提供了一种标准化的方式来管理容器的生命周期。该项目最初是由 Docker 开发团队创建的,并在后来成为一个独立的项目,被纳入了 cloudNative Computing Foundation(云原生计算基金会 CNCF)的孵化项目中。容器生命周期管理:Containerd 管理容器的生命周期,包括容器的创建、运行、暂停、恢复、停止和销毁等操作。标准化接口。
2025-07-14 21:04:01
642
原创 docker高级管理——Compose容器编排与私有仓库
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。它以 Docker 公司开源的 Registry 为基础,提供了管理 UI、基于角色的访问控制(Role Based Accesscontrol)、AD/LDAP 集成、以及审计日志(Auditlogging)等企业用户需求的功能。通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 DockerDistribution。
2025-07-13 16:45:43
910
原创 Docker高级管理
将nginx的配置文件nginx.conf和nginx的源码包上传到/opt/nginx目录下。注意修改nginx参数。放入my.cnf文件。
2025-07-10 22:33:57
221
原创 Docker高级管理--容器通信技术与数据持久化
除了上述内置的网络模式,你还可以使用 docker network create 命令创建自定义的 bridge 网络,以满足特定的网络需求,例如指定子网、网关、IP 范围等。数据卷是一个可供一个或多个容器使用的特殊目录,它绕过了容器的文件系统,直接将宿主机上的目录或文件挂载到容器内部。这意味着即使容器被删除,数据卷中的数据也不会丢失,从而实现了数据的持久化存储。
2025-07-09 21:52:23
676
原创 容器技术入门与Docker环境部署
因为 Docker 轻便、快速的特性,可以使应用达到快速迭代的目的。每次小的变更,马上就可以看到效果,而不用将若干个小变更积攒到一定程度再变更。每次变更一小部分其实是一种非常安全的方式,在开发环境中能够快速提高工作效率。Docker容器能够帮助开发人员、系统管理员、质量管理和版本控制工程师在一个生产环节中一起协同工作。制定一套容器标准能够使系统管理员更改容器的时候,程序员不需要关心容器的变化,而更专注自己的应用程序代码。从而隔离开了开发和管理,简化了开发和部署的成本。
2025-07-08 21:06:18
621
原创 OpenStack入门体验
组类型:组类型是在 OpenStack 创建组的时候可以指定的一个类型或标签它通常映射到这个组所使用的存储后端驱动器的性能指标集合。“管理员”选项卡下的“卷”比“项目”下的“卷”多了两个功能,分别是“卷类型”和“组类型”卷类型:在 OpenStack中创建卷时,选择一个类型或者标签,被称为卷类型针对这个卷,卷类型通常是指后端存储驱动程序的一组指标。“管理员”和“项目”选项卡具有相似的功能,但是权限不同。默认值:也可以称作“限制值”,通常包括三个方面的配额值,分别是“计算配额”、“卷配额”和“网络配额”
2025-07-06 16:26:42
793
原创 KVM高级功能部署
企业内部为了使服务器资源达到最大化利用,通常都会进行KVM 虚拟化,每台服务器上运行多台 KVM 虚拟机。随着 KVM 虚拟机数量的不断增多,个别服务器会出现资源过载现象,这时候就需要对部分 KVM 虚拟机进行迁移,迁移到负载相对较低的服务器上。为了解决以上问题,针对可停机的KVM 虚拟机,可使用静态迁移的方式来迁移 KVM虚拟机。针对在线提供服务、不可停机的KVM 虚拟机,可使用基于共享存储的动态迁移或基于数据块的动态迁移来完成迁移工作。
2025-07-03 20:57:12
770
1
原创 部署KVM虚拟化平台
公司部分 Linux 服务器硬件资源利用率不高,为了充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行Nginx的服务器上部署 KVM,然后在 KVM 虚拟机上运行 Tomcat 等服务。广义的 KVM 实际上包含两部分,一部分是基于 Linux 内核支持的 KVM 内核模块,另·部分就是经过简化和修改的 Qemu。KVM 内核模块是模拟处理器和内存以支持虚拟机的运行,Qemu 主要处理 I/0 以及为用户提供一个用户空间工具来进行虚拟机的管理。
2025-07-02 20:58:49
922
原创 ELK日志分析系统
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
2025-07-01 23:57:58
916
原创 FastDFS分布式存储
FastDFs 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFs 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2025-06-30 17:39:18
662
原创 GFS分布式文件系统
GlusterFS 是一个开源的分布式文件系统,同时也是 Scale-Out 存储解决方案 Gluster的核心,在存储数据方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数 PB 级别的存储容量。GlusterFS 借助 TCP/IP 或 InfiniBand RDMA 网络将分散的存储资源汇聚在一起,统一提供存储服务,并使用单一全局命名空间来管理数据。GlusterFS 基于可堆叠的用户空间以及无元的设计,可为各种不同的数据负载提供优异的性能。
2025-06-29 20:27:35
615
原创 MongoDB数据库
MongoDB 是一个文档型数据库,数据以类似 JSON 的文档形式存储。MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。MongoDB 使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。
2025-06-28 22:08:58
886
原创 Nosql之redis集群
集群,即 Redis Cluster, 是 Redis 3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis 的数据分布在这些节点中。集群中的节点分为主节点和从节点;只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。
2025-06-25 17:00:24
976
原创 Redis哨兵模式
在一主多从的 Redis 架构中,从节点可以起到数据冗余备份和读写分离的作用。如果主节点遇到故障导致无法提供服务时,可以采用手动方式将其一个从节点提升为主节点,保证 Redis 主从能够正常工作。主从切换通过手动完成比较耗时、费力,并且影响 Redis 正常服务。为此,Reids 提供了哨兵功能,实现了自动化的系统监控和故障恢复功能。哨兵(Sentine1),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。哨兵是一个独立的进程。
2025-06-24 17:53:00
984
原创 NoSQL之Redis配置与优化
数据库按照数据库的结构可以分为关系型数据库与其他数据库,而这些其他数据库我们将其统称为非关系型数据库。Redis(RemoteDictionaryServer,远程字典型)是一个开源的、使用C语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis 服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis 进程,而 Redis 的实际处理速度则是完全依靠于主进程的执行效率。
2025-06-24 11:02:05
1031
原创 kafka消息队列
消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到MQ中而不用管谁来取,消息使用者只管从MQ中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
2025-06-21 17:42:52
546
原创 Nginx+Tomcat负载均衡群集
京北点指科技有限公司发布V3版移联建站管理系统,该项目为Java 语言开发的Web 站点。目前,IBM 的 WebSphere 及 Oracle 的 WebLogic 占据了市面上 Java 语言 Web 站点的 大部分份额。这两种软件以其无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司 的 Web 场景中,但是其高昂的价格也使得小型互联网公司对此望而却步。
2025-06-20 18:00:54
818
原创 Haproxy搭建web群集
Haproxy 是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如 LVS 和 Nginx。相比较而言,LVS 性能最好,但是搭建相对复杂;Nginx的upstream 模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有 Haproxy 好。Haproxy 官方网站是 http://www.haproxy.org/。
2025-06-19 17:01:31
1012
原创 LVS+Keepliaved高可用群集
Keepalived 的官方网站位于 http://www.keepalived.org/,本章将以 YUM方式讲解 Keepalived 的安装、配置和使用过程。在非 LVS 群集环境中使用时,Keepalived 也可以作为热备软件使用。
2025-06-18 19:45:25
677
原创 LVS-DR群集
修改源MAC地址为Director Server 的 MAC 地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP地址没有改变,然后将数据包发送给 Real Server。LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用,节点 Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过 Director Server。除此以外,Web 服务的配置与 NAT 方式类似。
2025-06-17 17:27:03
767
原创 LVS负载均衡群集
根据实际企业环境的不同,群集所提供的功能也各不相同,采用的技术细节也可能各有千秋。然而从整体上来看,需要先了解一些关于群集的共性特征,才能在构建和维护群集的工作中做到心中有数,避免操作上的盲目性。
2025-06-17 12:03:42
644
原创 Python操作与Mysql数据库
连接池技术能够在高并发场景下提升数据库连接的效率。在连接池中,多个数据库连接被提前创建并放入池中,客户端通过池获取连接,而不是每次都建立新的连接。这大大减少了连接创建和销毁的开销。READ UNCOMMITTED:允许脏读,最低的隔离级别,性能最好,但容易出现数据不一致的情况。READ COMMITTED:解决了脏读问题,但可能出现不可重复读。REPEATABLE READ:解决了脏读和不可重复读问题,但可能出现幻读。SERIALIZABLE:解决了所有问题,但性能最差,可能导致事务长时间等待。
2025-06-14 17:28:26
949
原创 初认Flask框架
Flask 作为一个微框架,强调简单性和灵活性。它依赖于两个重要的 Python 库来提供核心功能:Werkzeug:这是 Flask 的底层库,提供了 WSGI 接口、HTTP 请求和响应处理、路由等核心功能。Jinja2:一个功能强大的模板引擎,用于动态生成 HTML 页面。Flask 的设计目的是让开发者能够快速开发应用,并提供了灵活的方式进行扩展。如果你不需要复杂的功能,Flask 的核心本身已经足够满足需求。如果你需要更多高级特性,可以通过 Flask 的扩展库进行补充。
2025-06-13 17:54:25
717
原创 python实现web请求与响应
web请求与响应式web通信的基础。web请求由客户端发起,服务器处理后返回响应。HTTP(Hypertext Transfer Protocol)是Web 上传输数据的协议,负责浏览器与服务器之间的通信。方法含义GET请求服务器获取资源,通常用于读取数据POST提交数据到服务器,通常用于表单提交、文件上传PUT更新服务器上的资源DELETE删除服务器上的资源。
2025-06-13 11:05:53
816
原创 PostgreSQL日常维护
pg_dump 每次只转储一个数据库,而且它不会转储关于角色或表空间(因为它们是集簇范围的)的信息。pg dump 对于其他备份方法的一个重要优势是,pg_dump 的输出可以很容易地在新版本的 PostgreSQL 中载入,而文件级备份和连续归档都是极度的服务器版本限定的。由 pg dump 创建的备份在内部是一致的,也就是说,转储表现了 pg dump开始运行时刻的数据库快照,且在pg dump 运行过程中发生的更新将不会被转储pg_dump 工作的时候并不阻塞其他的对数据库的操作。
2025-06-11 17:31:24
842
原创 PostgreSQL初体验
PostgreSqL,作为一个功能强大且开源的对象关系型数据库管理系统(ORDBMS),自其诞生以来,便以其卓越的性能和丰富的特性赢得了全球开发者和企业的青睐。源自加利福尼亚大学伯克利分校的 PostgreSQL,不仅继承了其前身 Ingres 的精髓,更在不断的发展中推陈出新,成为了现代数据库领域的佼佼者。
2025-06-10 16:46:20
1060
原创 MySQL高可用
目前 MySQL 已经成为市场上主流数据库之一,考虑到业务的重要性,MySQI数据库单点问题已成为企业网站架构中最大的隐患。随着技术的发展,MHA的出现就是解决 MySQL 单点的问题。另外随着企业数据量越来越庞大,数据库的压力又成为企业的另一个瓶颈,MySQL多主多从架构的出现可以减轻 MySQL 本身的压力。本章将主要围绕 “MySQL主主复制+Keepalived+HAProxy” 这一经典高可用架构展开,通过理论结合实践,解析如何通过开源工具实现数据库的故障自动转移、负载均衡和读写分离。
2025-06-07 16:43:55
996
原创 MySQL主从复制与读写分离
在实际的生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,一般来说都是通过主从复制(Master-Slave)来同步数据,再通过读写分离来提升数据库并发负载能力的方案来进行部署与实施。一台主 MySQL 服务器带两台从 MySQL 服务器做数据复制前端应用在进行数据库写操作时,对主服务器进行操作,在进行数据库读操作时对两台从服务器进行操作,这样大量减轻了对主服务器的压力。
2025-06-06 17:20:33
899
原创 MySQL全量、增量备份与恢复
在企业中数据的价值至关重要,数据保障了企业业务的正常运行。因此,数据的安全性及数据的可靠性是运维的重中之重,任何数据的丢失都可能对企业产生严重的后果。通常情况下造成数据丢失的原因有如下几种:程序错误人为操作错误运算错误磁盘故障灾难(如火灾、地震)和盗窃增量备份的特点与完全备份不同,增量备份没有重复数据,备份量不大,时间短;但其恢复麻烦,需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复。
2025-06-03 15:08:55
1313
原创 MySQL索引和事务
索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。索引的作用类似于图书的目录,可以根据目录中的页码快速找到所需的内容。当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。
2025-05-30 10:33:14
1258
原创 MySQL数据库操作
本节中的所有数据库语句均在“mysql>”操作环境中执行,并且每一条操作语句都是以分号(;)结束的。数据库目前标准的指令集是 SQL。SQL是 Structured Query Language 的缩写,即结构化查询语言。DDL(Data Definition Language,数据定义语言):用来建立数据库,数据库对象和定义字段,如CREATE、ALTER、DROP。DML(Data Manipulation Language,数据操纵语言)
2025-05-29 16:56:44
652
原创 MySQL数据库初体验
使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点:可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。可以有效地保持数据信息的一致性、完整性,降低数据几余。可以满足应用的共享和安全方面的要求。
2025-05-27 17:55:19
1512
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人