自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git+Jenkins实战(一)

因此,我们可以将 jenkins 的某个项目的 webhook 放置到 gitlab,当 gitlab 中对应的项目代码有更新时,就会向 jenkins 触发一个构建的事件,这样就完成了一个项目自动触发的流程。在此案例中,我们将进一步学习 jenkins 较为复杂一点的应用,本案例将 ansible 集成到了 jenkins 中,让 jenkins 利用 ansible 插件,向远程主机推送文件和指令,完成自动化的项目部署。注意在 “指定分支” 的地方,将分支名称修改为 “*/main”。

2025-08-19 17:58:59 954

原创 Git+Jenkins 基本使用

持续集成 (Continuous integration) 是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。持续部署(continuous deployment)是通过自动化的构建、测试和部署循环来快速交付高质量的产品。

2025-08-18 20:38:03 1127

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

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

2025-08-18 10:43:23 693

原创 SaltStack部署应用

EOFname: lisiEOFbase:'web01':- test1'web02':- test2EOF·sls 代表 SaltStack 文件,是一种 yaml 格式的描述文件,SLS 描述了系统的目标状态,由格式简单的数据构成。这经常被称作配置管理,top.sls 是配置管理的入口文件,一切都是从这里开始,在 master主机上,默认存放在 /srv/salt/ 目录,如果是自定义 pillar 数据,需要放置在 /srv/pillar 目录下。

2025-08-14 21:08:17 719

原创 云原生环境 Prometheus 企业级监控实战

node - exporter + prometheus + grafana 是一套非常流行的 Kubernetes 监控方案(1) 在 Kubernetes 集群的每个节点安装 Cadvisor 和 node - exporter,用于采集容器和节点级指标数据。(2) 部署 Prometheus,配置抓取 Cadvisor 和 node - exporter 的 Metrics 接口,存储 containers 和 nodes 的时序数据。(3) 使用 Grafana 构建监控仪表盘,选择 Prometh

2025-08-12 17:13:26 1269

原创 Ansible部署应用

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

2025-08-12 17:07:03 1233

原创 Prometheus监控平台部署与应用

Prometheus 具有足够的通用性,可以监控各个级别的实例:你自己的应用程序、第三方服务、主机或网络设备等等。此外 Prometheus 特别适用于监控动态云环境和 Kubernetes 云原生环境。但是也需要注意的是 Prometheus 并不是万能的,目前并没有解决下面的一些问题:日志和追踪(Prometheus 只处理指标,也称为时间序列)基于机器学习或 AI 的异常检测水平扩展、集群化的存储。

2025-08-08 22:16:24 1031

原创 Zabbix 企业级高级应用

Zabbix 中内置了很多监控参数(Key),我们可以通过在客户端配置文件中定义 key,获取监控对象中的系统、CPU、网络、内存、文件系统等信息。Key(键)是 zabbix 标记 item 的键,是一种标识符。利用 key 可以定义一个监控对象,那么这个监控对象肯定是采集数据的,当时采集数据的时候可能存在很多节点与 server 交互,那么需要具体哪个采集节点,就可以用 key 进行采集。

2025-08-05 20:27:38 879

原创 部署 Zabbix 企业级分布式监控

Zabbix 是什么,它是一种企业级的分布式开源监控系统的解决方案,Zabbix 是一个基于 Web 界面的提供分布式系统监控,以及网络监控功能的企业级开源解决方案。Zabbix 由 Alexei Vladishev 创建,目前由 Zabbix SIA 主导开发和支持。Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。

2025-08-05 00:40:01 968

原创 Kubernetes资源管理

在生产环境中,可能会有多个 Kubernetes 集群,面向开发环境、测试环境、预生产环境和生产环境等。身为 Kubernetes 管理员,必然知道每个环境的规模有多大、可调度资源有多少,并且知道如何合理地为容器分配内存和 CPU,所以一个管理员去管理整个 Kubernetes 集群时,很少会有资源分配超出集群可调度范围的情况。但在实际使用时,Kubernetes 集群并非只有一个管理员在使用,也并非只有管理员在使用。

2025-08-01 13:53:04 752

原创 Kubernetes高级调度深度探究

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

2025-07-30 17:58:39 919

原创 Kubernetes高级调度基础

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

2025-07-29 17:59:23 796

原创 Kubernetes --存储入门

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

2025-07-28 20:49:53 930

原创 Kubernetes配置管理

kind: Podmetadata:spec:env:valueFrom:valueFrom:EOF在此案例中,env 用于定义环境变量,valueFrom 指定了环境变量的值来源于 ConfigMap。“name: my - name01” 用于定义容器中用的变量名,其值来自于 CM 中的 user.1 的值。“name1” 是在 CM 中定义的 key。用 valueFrom 的方式引入 pod 中的变量名,可以在定义 pod 的之后指定成另一个名称。

2025-07-26 15:35:31 766

原创 Kubernetes 服务发布进阶

一、基本概念service 的作用体现在两个方面,对集群内部,它不断跟踪 pod 的变化,更新 endpoint(端点)中对应 pod 的对象,提供了 ip 不断变化的 pod 的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对 pod 进行访问。在 Kubernetes 中,Pod 的 IP 地址和 service 的 ClusterIP 仅可以在集群网络内部使用,对于集群外的应用是不可见的。

2025-07-23 21:55:04 849

原创 Kubernetes服务发布基础

一、Service 的定义一、Service 的定义service 是 kubernetes 中的一种抽象,用于定义一组 pod 以及访问这一组 pod 的策略、service 的作用是将一组 pod 封装为一个虚拟的服务,并提供一个统一的入口,供客户端访问。service 支持负载均衡、服务发现、服务暴露等功能。Service 用于为一组提供服务的 Pod 抽象一个稳定的网络访问地址,是 k8s 实现微服务的核心概念。

2025-07-22 18:01:58 938

原创 Kubernetes Pod 调度基础

三、有状态应用管理 StatefulSet一、Replication Controller 和 ReplicaSetReplication Controller(复制控制器,RC)RC 用来确保 Pod 副本数达到期望值,这样可以确保一个或多个同类 Pod 总是可用的。

2025-07-21 23:15:21 943

原创 Kubernetes -- Pod深度理解

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

2025-07-18 21:48:15 1733

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

在业务开始进行容器化时,前期需要容器化的项目可能并不多,涉及的容器也并不多,此时基于 Docker 容器直接部署至宿主机也能实现基本的需求。但是随着项目越来越多,管理的容器也会越来越多,此时使用 “裸容器” 部署的方式管理起来就显得很吃力,并且随着业务量的增加,会明显体会到 “裸容器” 的不足。比如:宿主机宕机造成该宿主机上的容器不可用,且无法自动恢复。容器明明在运行,接口就是不通(健康检查做得不到位)应用程序部署、回滚、扩缩容困难。成百上千的容器和涉及的端口难以维护。

2025-07-15 20:27:56 1270

原创 Containerd 容器技术详解

Containerd 的架构是 modularity(模块化)和可扩展性的体现,它被设计为一个轻量级、高度可定制的容器运行时。可以看出 Containerd 采用的也是 C/S 架构,服务端通过 unix domain socket 暴露低层的 gRPC API 接口出去,客户端通过这些 API 管理节点上的容器,每个 Containerd 只负责一台机器,Pull 镜像,对容器的操作(启动、停止等),网络,存储都是由 Containerd 完成。具体运行容器由 runc 负责。

2025-07-14 20:44:14 1339

原创 部署Harbor私有仓库

Harbor简介Docker容器应用的开发和运行离不开可靠的镜像管理,Docker官方提供了原生的Registry,但其功能比较简单,而且没有可视化界面,自然无法满足企业级的需求。虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。

2025-07-12 21:13:03 1488 3

原创 Docker-构建镜像并实现LNMP架构

【代码】Docker-构建镜像并实现LNMP架构。

2025-07-10 21:54:08 839

原创 Docker高级管理

特点:基于 Bridge 或 Overlay 创建自定义网络,支持 DNS 自动解析。优点:灵活配置网络策略,推荐生产环境使用特性描述网络隔离基于用户定义的网桥或 overlay 网络,支持多子网隔离。核心组件- 自定义网桥(如- DNS 服务:自动解析容器名到 IP。通信机制- 同一网络内容器通过容器名直接通信。- 跨网络通信需路由或端口映射。IP 管理通过 IPAM(IP Address Management)自动分配唯一 IP。高级特性- 支持网络策略(如防火墙规则)。

2025-07-09 22:05:22 1383

原创 容器技术入门之Docker环境部署

如果要方便的创建运行在云平台上的应用,必须要脱离底层的硬件,同时还需要任何时间地点可获取这些资源,这正是 Docker 所能提供的。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。通过这种容器打包应用程序,意味着简化了重新部署、调试这些琐碎的重复工作,极大的提高了工作效率。docker 是目前较为主流的容器技术。容器技术是一种轻量级的虚拟化技术,它可以让应用程序及其依赖项打包在一个独立的单元中运行,从而实现应用的隔离、可移植性和资源的高效利用。

2025-07-08 17:41:51 1383 2

原创 OpenStack扩展

创建成功后会自动下载到本地。创建密钥对(秘钥名称为。

2025-07-07 17:59:04 840 2

原创 OpenStack入门体验

2.1、用admin身份创建public网络(2.2、创建private网络。

2025-07-06 19:45:44 603

原创 KVM高级功能部署

KVM 虚拟机迁移,是将某一虚拟机上的环境和软件完全复制到另一台物理机上继续运行。KVM 虚拟机迁移可以优化系统负载、重新规划 KVM 虚拟机布局并简化 KVM 虚拟机的管理维护工作。KVM 虚拟机迁移的主要应用场景如下所示: 当一台 KVM 宿主机的负载比较高时,可将源 KVM 宿主机上的部分虚拟机迁移到负载较低的 KVM 宿主机中,以保证服务质量。 通过 KVM 虚拟机迁移将多台负载较低的 KVM 宿主机上的 KVM 虚拟机集中迁移到某一台 KVM 宿主机上,从而达到节

2025-07-03 21:54:48 1439

原创 部署KVM 虚拟化平台

使用 virsh 命令的 define 子命令,依据指定的 XML 配置文件(aaa.xml)# 定义一个新的虚拟机(或虚拟机相关资源,比如虚拟机的元数据、硬件配置描述等)。# 执行这条命令后,虚拟机相关定义会被注册到虚拟化管理程序中,但不会立即启动虚拟机。# 使用 virsh 命令的 start 子命令,启动名称为 “centos7.0” 的虚拟机实例。# 前提是该虚拟机已经通过类似上面 define 操作(或其他合法方式)完成定义,

2025-07-02 22:09:18 1078

原创 ELK日志分析系统(filebeat+logstash+elasticsearch+kibana)

Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。Logstash 有 JRuby 语言编写,运行在 Java 虚拟机(JVM)上,是一款强大的数据处理工具,可以实现数据传输、格式处理、格式化输出。

2025-07-02 00:09:12 1274

原创 FastDFs分布式存储

FastDFS 是一个开源的轻量级分布式文件系统,纯 C 实现,目前提供了 C、Java 和 PHP API。功能包括:文件存储,文件同步,文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。Fast DFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。

2025-06-30 22:41:28 1637

原创 GFS分布式文件系统

术语解释GlusterFS是一个开源的分布式文件系统BrickGFS 中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如Client挂载了 GFS 卷的设备是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过 FUSE 代码与内核进行桥接Node一个拥有若干 brick 的设备Volume一组 bricks 的逻辑集合Metadata元数据,关于数据的数据,用于描述文件、目录等的信息VFS。

2025-06-29 23:29:08 1249

原创 MongleDB数据库应用

MongoDB 是一个文档型数据库,数据以类似 JSON 的文档形式存储。MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。MongoDB 使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。MongoDB 将数据存储为一个文档,数据结构由键值 (key=>value) 对组成,文档类似于 JSON 对象,字段值可以包含其他文档,数组及文档数组。

2025-06-26 20:44:54 907

原创 Keepalived+Haproxy+Redis三主三从

【代码】Keepalived+Haproxy+Redis三主三从。

2025-06-25 17:48:46 661

原创 NoSQL 之Redis集群

集群(Redis Cluster)是 Redis 3.0 开始引入的分布式存储方案,由多个节点(Node)组成,数据分布于节点中,节点分主节点(负责读写请求与集群信息维护 )和从节点(复制主节点数据和状态信息 )。Redis 集群采用 master - slave 方式,1 个 master 节点可含多个 slave 节点,slave 节点备份 master 节点数据,master 节点故障时 slave 可替换成新 master。

2025-06-25 16:29:21 1026

原创 Redis--主从+哨兵模式

哨兵(Sentinel),主要负责监控主从节点运行是否正常,以及当主节点出现故障时自动将一个从节点转换为新的主节点。哨兵是一个独立的进程。最基础的通用哨兵架构如下所示:哨兵最基础架构由两部分组成,包括哨兵节点和数据节点。其中,哨兵节点是特殊的 Redis 节点,并不存储数据,出于高可用方面考虑,哨兵架构中通常都是多个哨兵节点共同提供服务。数据节点用于存储 Redis 数据。包括主节点和从节点。

2025-06-24 16:41:02 1437

原创 Redis 配置与优化

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

2025-06-23 21:31:38 1383

原创 Kafka消息队列

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

2025-06-21 18:01:12 957

原创 Nginx+Tomcat负载均衡群集

名称由来:Tomcat 最初由 Sun 的软件构架师詹姆斯・邓肯・戴维森开发,后变为开源项目并由 Sun 贡献给 Apache 软件基金会。因 O’Reilly 开源项目常以动物命名相关书籍,他希望动物能自我照料,故命名为 Tomcat(公猫 ),O’Reilly 相关书籍封面及 Tomcat 的 Logo 兼吉祥物也设计成公猫形象。且 Tomcat 早期叫 Catalina,安装后路径下有很多和 Catalina 相关、对使用或配置 Tomcat 重要的目录和文件。

2025-06-20 18:02:41 1207

原创 使用Haproxy搭建Web群集

通过 URL 访问网站使用的协议是 HTTP 协议,此类请求一般称为 HTTP 请求。HTTP 请求的方式分为 GET 方式和 POST 方式。当使用浏览器访问某一个 URL,会根据请求 URL 返回状态码,通常正常的状态码为 2××、3××(如 200、301),如果出现异常会返回 4××、5××(如 400、500)。例如,访问 http://www.test.com/a.php?Id=123,就是一个 GET 请求,如果访问正常,会从服务器的日志中获取 200 状态码。

2025-06-19 17:37:22 821 1

原创 LVS+Keepalived高可用群集

Keepalived 起初是专门针对 LVS 设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能 —— 判断 LVS 负载调度器、节点服务器的可用性,当 master 主机出现故障及时切换到 backup 节点保证业务正常,当 master 故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。

2025-06-18 17:33:16 1489

空空如也

空空如也

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

TA关注的人

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