自定义博客皮肤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)
  • 收藏
  • 关注

原创 代码管理系统简介与部署

Git(读音为/gIt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 的优势就是:每个人都拥有全部的代码,可以避免一些安全隐患。不会因为服务器损坏或者网络问题,造成不能工作的情况。所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时 push 到相应的服务器或其他用户那里。

2025-08-19 08:10:19 709

原创 Ansible企业及实战

playbook 顾名思义,即剧本,现实生活中演员按照剧本表演,在 ansible 中,由被控计算机表演,进行安装,部署应用,提供对外的服务等,以及组织计算机处理各种各样的事情。playbook 是 ansible用于配置,部署,和管理节点的剧本通过 playbook 的详细描述,执行其中的-些列 tasks,可以让远端的主机达到预期的状态。playbook 就像 ansible 控制器给被控节点列出的一系列 to-do-list,而且被控节点必须要完成。

2025-08-18 11:00:38 974

原创 Asnible部署应用

Ansible 是基于 Python 开发,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能的自动化运维管理工具。默认通过 SSH 协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单。可同时支持多台主机并行管理,使得管理主机更加便捷。

2025-08-14 17:24:52 966

原创 云原生技术k8s部署prometheus

node-exporter + prometheus + grafana 是一套非常流行的 Kubernetes 监控方案。它们的功能如下:node-exporter:节点级指标导出工具,可以监控节点的 CPU、内存、磁盘、网络等指标,并暴露Metrics 接ㄩ。Prometheus:时间序列数据库和监控报警工具,可以抓取 Cadvisor 和 node-exporter 暴露的Metrics 接口,存储时序数据,并提供 PromQL 查询语言进行监控分析和报警。

2025-08-13 16:30:23 709

原创 prometheus监控系统部署

多维数据模型,可以按照实例,服务,端点和方法之类的维度随意对数据进行切片和切块。操作简单,可以随时随地部署监控服务,甚至在本地工作站上,而无需设置分布式存储后端或重新配置环境。可扩展的数据收集和分散的架构,以便于可以可靠的监控服务的许多实例,独立团队可以部署独立的监控服务。转化为一种查询语言,可以利用数据模型进行有效的警报和图形展示。

2025-08-13 16:30:19 959

原创 部署zabbix企业级监控系统

监控、从中文的字义来看,有两个内容,一是检测,二是控制。重点在第一个字眼,即检测、预防的意思。监控,对应的英文单词是 Monitoring。在计算机领域,可以将其分为5种监控类型。应用性能监控业务交易监控网络性能监控操作系统监控上面5种类型将监控这个概念划分成了多个领域。我们通常所说的监控,都会模糊的包含以上5个细分的领域。在任何一个 IT业务环境中,都会存在各种各样的硬件设备、软件应用等。

2025-08-05 17:56:00 894

原创 k8s日志收集

基于云原生 12 要素开发的程序,一般会将日志直接输出到控制台,并非是指定一个文件存储日志,这一点和传统架构还是有区别的。但是公司内的程序并非都是基于云原生要素开发的,比如一些年代已久的程序,这类程序如果部署至 Kubernetes 集群中,就需要考虑如何将输出至本地文件的日志采集到Elasticsearch。

2025-08-04 02:28:32 664

原创 kubernetes高级调度02

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

2025-08-01 00:04:56 685

原创 kubernetes高级调度01

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

2025-07-30 17:12:00 1012

原创 kubernetes存储入门

和之前的挂载方式类似,PVC 的挂载也是通过 volumes 字段进行配置的,只不过之前需要根据不同的存储后端填写很多复杂的参数’而使用 PVC进行挂载时,只填写 PVC的名字即可,不需要再关心任何的存储细节,这样即使不是 Kubemetes 管理员,不懂存储的其他技术人员想要使用存储,也可以非常简单地进行配置和使用。所以集群管理员需要根据不同的存储后端来提供各种 PV,而不仅仅是大小和访问模式的区别,并且无须让用户了解这些卷的具体实现方式和存储类型,打扫了存储的解耦,降低了存储使用的复杂度。

2025-07-28 17:51:00 724

原创 kubernetes pod调度基础

Statefulset(有状态集,缩写为sts)常用于部署有状态的且需要有序启动的应用程序。比如在生产环境中,可以部署 Elasticsearch 集群、MongoD8 集群或者需要持久化的 RabbitMQ 集群、Redis 集群、Kafka 集群和 ZooKeeper 集群等。一个 statefulset 管理着基于相同容器规范的 Pod。与 Deployment 不同的是,statefulset 为每个 Pod 维护了一个标识。

2025-07-28 02:02:39 304

原创 kubernetes Pod深度理解

Pod 是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及运行规范。在 Pod 中,所有容器都被统一安排和调度。对于具体应用而言,Pod 是它们的逻辑主机,Pod 包含业务相关的多个应用容器。所以,Pod 是一组具有共享命名空间、IP地址和端口的容器的集合。用户通过 kubect1 或其他工具提交 Pod 的 YAML 或 JSON 定义文件到 Kubernetes API Server。

2025-07-25 17:38:19 644

原创 kubernetes 服务发布基础

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

2025-07-22 17:58:41 588

原创 Docker Compose与私有仓库部署

Docker Compose 的前身是 Fig,它是一个定义及运行多个 Docker 容器的工具。使用 DockerCompose 时,只需要在一个配置文件中定义多个 Docker 容器,然后使用一条命令启 动这些容器Docker compose 会通过解析容器间的依赖关系按先后顺序启动所定义的容器。Docker容器应用的开发和运行离不开可靠的镜像管理,Docker官方提供了原生的Registry,但其功能比较简单,而且没有可视化界面,自然无法满足企业级的需求。

2025-07-22 02:06:44 633

原创 kubernetes架构原理与k8s集群环境部署

Kubernetes 是谷歌以 Borg 为前身,基于谷歌 15 年的生产环境经验开源的一个项目。Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台,其遵循主从式架构设计、组件可以分为工作节点(Node,组件,和控制平面组件。Kubernetes Master 是集群的主要控制单元,用于管理工作负载并指导整个系统的通信。

2025-07-17 17:02:20 1283

原创 containerd容器技术详细解析

Containerd(Container Daemon)是一个开源的容器运行时,它提供了一种标准化的方式来管理容器的生命周期。该项目最初是由 Docker 开发团队创建的,并在后来成为一个独立的项目,被纳入了 cloudNative computing Foundation(云原生计算基金会 CNCF)的孵化项目中。以下是 containerd 的主要特点和功能:容器生命周期管理:Containerd 管理容器的生命周期,包括容器的创建、运行、暂停、恢复、停止和销毁等操作。标准化接口: Containe

2025-07-15 17:19:42 804

原创 docker容器高级管理-dockerfile创建镜像

(1)要把php.ini中的listen.allowed_clients注释掉,否则php进程不会接受nginx发过来的请求。(2)如果基础镜像使用的是centos8,php的mysql扩展要使用php-mysqli。(3)php.ini中要把字符集设置为UTF-8,否则网页上的中文会乱码。启动php和nginx。连接数据库给予网站权限。

2025-07-13 17:00:37 350

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

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

2025-07-12 15:53:51 623

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

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

2025-07-09 16:56:43 1172

原创 Openstack云平台管理

sed -i ‘s/PasswordAuthentication no/PasswordAuthentication yes/g’ /etc/ssh/sshd_config 开启密钥对验证。sed -i ‘s/#PermitRootLogin yes/PermitRootLogin yes/g’ /etc/ssh/sshd_config 修改 SSH 配置以允许 root 登录。(7)创建卷挂载及使用;(5)云主机创建快照;(2)创建网络和路由;对格式化好的分区挂载。

2025-07-08 00:52:54 948

原创 部署openstack

组类型:组类型是在 OpenStack 创建组的时候可以指定的一个类型或标签它通常映射到这个组所使用的存储后端驱动器的性能指标集合。镜像:所有的镜像都会在这显示,可以执行创建镜像和删除镜像等操作,密钥对:可以创建密钥对通过远程免密码对云主机进行管理,路由:用于将云主机的私有地址通过路由的方式转发到其他私有网络,或通过 NAT转发到外部网络,实现网络通信。路由:用于将云主机的私有地址通过路由的方式转发到其他私有网络,或通过 NAT转发到外部网络,实现网络通信。

2025-07-07 17:47:38 1148

原创 KVM高级功能部署

企业内部为了使服务器资源达到最大化利用,通常都会进行KVM 虚拟化,每台服务器上运行多台 KVM 虚拟机。随着 KVM 虚拟机数量的不断增多,个别服务器会出现资源过载现象,这时候就需要对部分KVM 虚拟机进行迁移,迁移到负载相对较低的服务器上。为了解决以上问题,针对可停机的 KVM 虚拟机,可使用静态迁移的方式来迁移KVM虚拟机。针对在线提供服务、不可停机的KVM 虚拟机,可使用基于共享存储的动态迁移或基于数据块的动态迁移来完成迁移工作。

2025-07-05 06:17:42 1035

原创 部署KVM虚拟化平台

公司部分 Linux 服务器硬件资源利用率不高,为了充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行Nginx的服务器上部署 KVM,然后在 KVM 虚拟机上运行 Tomcat 等服务。广义的 KVM 实际上包含两部分,一部分是基于 Linux 内核支持的 KVM 内核模块,另-部分就是经过简化和修改的 Qemu。KVM 内核模块是模拟处理器和内存以支持虚拟机的运行,Qemu 主要处理 I/0 以及为用户提供一个用户空间工具来进行虚拟机的管理。

2025-07-03 17:45:19 571

原创 ELK日志分析系统

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

2025-07-02 02:11:33 291

原创 FastDFS分布式存储

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

2025-07-01 23:08:12 1030

原创 GFS分布式文件系统

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

2025-06-30 03:33:45 849

原创 mongodb

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

2025-06-28 15:34:47 1029

原创 redis集群

集群,即RedisCluster,是Redis3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负贵读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。redis集群采用master-slave的方式,即1个master节点可以包含多个slave节点,slave节点主要对master节点的数据进行备份,如果master节点挂了,可以启动salve节。

2025-06-26 16:47:22 1161

原创 NoSQL之Redis哨兵模式

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

2025-06-25 16:28:21 1283

原创 NOSQL之Redis数据库配置与优化

数据库按照数据库的结构可以分为关系型数据库与其他数据库,而这些其他数据库我们将其统称为非关系型数据库。关系型数据库是一个结构化的数据库,创建在关系模型基础上,一般面向于记录。它借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型就是指二维表格模型,因而一个关系型数据库就是由之维表及其之间的联系组成的一个数据组织。现实世界中,各种实体与实体之间的各种联系都可以用关系模型来表示。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关

2025-06-24 11:19:36 923

原创 nginx代理与tomcat动静分离

京北点指科技有限公司发布V3-版移联建站管理系统,该项目为Java语言开发的Web站点。目前,IBM的WebSphere及Oracle的WebLogic占据了市面上Java语言Web站点的大部分份额。这两种软件以其无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司的Web场景中,但是其高昂的价格也使得小型互联网公司对此望而却步。Tomcat自5.x版本以来,其性能上已经得到了大幅的提升,再加上其开放性的框架和可二次开发等特性,已经完全可以用在访问量不是很大的生产环境下。目前,

2025-06-21 17:23:17 1134

原创 lvs+keepalived高可用集群

Keepalived时,漂移地址的实现不需要手动建立虚接口配置文件(如ens33:0),冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。是针对路由器的一种备份解决方案一一由多台路由器组成一个热备组,通过共用。动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务,如图3.1所。热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP地址(VIP)务,其他路由器处于冗余状态。若当前在线的路由器失效,则其他路由器会自。可以在热备组内的路由器之间进行转移,所以也称为漂移IP地址。

2025-06-19 18:01:39 405

原创 haproxy搭建nginx网站访问

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

2025-06-19 17:07:25 1147

原创 LVS(DR)群集

LVS-DR(LinuxVirtual ServerDirectorServer)工作模式,是生产环境中最常用的一种工作模式。LVS-DR模式,DirectorServer作为群集的访问入口,不作为网关使用,节点Director Server与Real Server需要在同一个网络中,返回给客户端的数据不需要经过DirectorServer。为了响应对整个群集的访问,DirectorServer与RealServer都需要配置VIP地址以下为数据包流向分析步骤。(1客户端发送请求到Directo

2025-06-17 17:33:58 1068

原创 LVS负载均衡群集

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

2025-06-17 11:16:10 1242

原创 python操作Mysql数据库

READUNCOMMITTED:允许脏读,最低的隔离级别,性能最好,但容易出现数据不一致的情况。READCOMMITTED:解决了脏读问题,但可能出现不可重复读。REPEATABLEREAD:解决了脏读和不可重复读问题,但可能出现幻读。SERIALIZABLE:解决了所有问题,但性能最差,可能导致事务长时间等待。在选择事务隔离级别时,需要根据应用的具体需求平衡数据一致性和性能。如果事务数据不频繁冲突,可以选择较低的隔离级别以提升性能;而对于数据一致性要求极高的场景,则应选择更高的隔离级别,尽。

2025-06-16 12:59:03 1390

原创 初识flask框架

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

2025-06-14 17:11:46 1015

原创 Python实现Web请求与响应

Web请求与响应是Web通信的基础Web请求由客户端发起,服务器处理后返回响应。HTTP(Hypertext Transfer Protocol)是Web上传输数据的协议,负责刘览器与服务器之间的通信。常见的HTTP方法有:一GET:请求服务器获取资源,通常用于读取数据。POST:提交数据到服务器,通常用于表单提交、文件上传等。PUT:更新服务器上的资源。DELETE:删除服务器上的资源。

2025-06-13 11:06:15 1223

原创 Postgresql日常维护

实际上,你可以指定恢复到任何已有数据库名,但是如果你正在将转储载入到一个空集簇中则通常要用(postgres)。在恢复一个pg_dumpall转储时常常需要具有数据库超级用户访问权限,因为它需要恢复角色和表空间信息。如果你在使用表空间,请确保转储中的表空间路径适合于新的安装。pg_dumpall工作时会发出命令重新创建角色、表空间和空数据库,接着为每一个数据库pg_dump。这意味着每个数据库自身是一致的,但是不同数据库的快照并不同步。

2025-06-13 00:11:02 1679

原创 MySQL高可用

目前 MySQL 已经成为市场上主流数据库之一,考虑到业务的重要性,MySQL数据库单点问题已成为企业网站架构中最大的隐患。随着技术的发展,MHA的出现就是解决 MySQL 单点的问题。另外随着企业数据量越来越庞大,数据库的压力又成为企业的另一个瓶颈,MySQL 多主多从架构的出现可以减轻 MySQL本身的压力。本章将主要围绕 “MySQL主主复制+Keepalived+HAProxy” 这一经典高可用架构展开,通过理论结合实践,解析如何通过开源工具实现数据库的故障自动转移、负载均衡和读写分离。

2025-06-12 17:02:19 866

空空如也

空空如也

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

TA关注的人

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