- 博客(201)
- 收藏
- 关注
原创 二十二、DevOps:基于Tekton的云原生平台落地(三)
上述定义了工作目录 PVC,但是拉取代码时,全部下载到了同一个目录,此时多个任务同时处理时会产生冲突,所以不同服务或者不同任务的工作目录应该独立。metadata:spec:subPath: "git-clone-run-subpath" # 指定目录taskRef:params:total 8除了上述手动指定工作目录,也可以使用 Tekton 的内置变量自动配置 subPath,比如使用。
2025-10-27 17:34:13
1045
原创 二十三、K8s企业级架构设计及落地
(所有节点)(所有节点)(所有节点)(所有节点)(所有节点)(所有节点)(Master01节点)(所有节点)(Master节点)(所有节点)(所有节点)(Master01节点)(Master01节点)(所有Master节点)(Master01节点)(Master01节点)(在master02和master03分别执行join命令)(在node01和node02分别执行join命令)(所有节点)(只在master01执行,.x不需要更改)(master01节点)(master01节点)
2025-10-22 15:22:14
668
原创 二十一、DevOps:从零建设基于K8s的DevOps平台(二)
Jenkinsfile 是用来保存 Pipeline 代码的文件,通常用代码仓库管理,或者直接放置于服务的代码仓库中。方便对流水线上的代码进行复查/迭代;对管道进行审计跟踪;流水线真正的源代码能够被项目的多个成员查看和编辑。接下来再 GitLab 的源代码中添加 Jenkinsfile。首先点击代码首页的“+”号,然后点击 New file:在窗口中,添加通过模板更改后的 Pipeline,并且命名为完整配置pipeline {agent {yaml '''kind: Pod。
2025-09-24 11:40:20
1265
原创 二十、DevOps:Jenkins基础入门(一)
DevOps是Development和Operations的组合,是一种重视开发人员(Dev)和运维人员(Ops)之间的沟通合作的方法论。DevOps打破了传统开发与运维之间的壁垒,强调跨团队协作与工具链整合。加速交付:快速迭代,频繁发布新功能提高质量:通过自动化任务减少错误增强协助:开发、运维、测试等角色紧密配合全自动化:减少手动操作,提升效率一句话总结:DevOps是跨部门沟通的桥梁,利用相关工具的融合提升整个团队的工作效率。
2025-09-15 17:35:43
1153
原创 十九、云原生分布式存储 CubeFS
CubeFS是新一代云原生存储产品,目前是云原生计算基金会(CNCF)托管的毕业开源项目,兼容S3、POSIX、HDFS等多种访问协议,支持多副本与纠删码两种存储引擎,为用户提供多租户、多AZ部署以及跨区域复制等多种特性,广泛应用于大数据、AI、容器平台、数据库、中间件存算分离、数据共享以及数据保护等场景。多协议:支持S3、POSIX、HDFS双引擎:支持多副本与纠删码多租户:支持多租户隔离和权限分配可扩展:支持各模块水平扩展,轻松扩展到PB或EB级。
2025-08-25 15:03:38
1162
2
原创 十八、k8s细粒度流量管理:服务网格
Istio是一个开源的服务网格(Service Mesh)产品,专为微服务架构设计,用于透明地管理服务间通信、安全、监控和流量策略。Istio通过Sidecar拦截并控制服务间的所有流量,将复杂的微服务治理(如流量管理、安全策略)从业务代码中剥离,并下沉到基础设施层,使开发者更专注于业务逻辑,以提升开发效率。Istiod为Istio的控制平面,提供服务发现、配置、证书管理、加密通信和认证。
2025-08-07 16:34:11
1215
原创 十七、K8s 可观测性:全链路追踪
Skywalking是一个针对分布式系统的应用性能监控(Application Performance Monitor, APM)和可观测性分析平台(Observability Analysis Platform)。Skywalking提供了包括分布式追踪、指标监控、故障诊断信息、服务网格遥测分析、异常告警以及可视化界面等功能,可帮助开发人员和运维团队更好地理解和管理应用和服务。分布式追踪:Skywalking可以为请求生成跟踪数据,能够帮助用户了解整个调用链路的情况,从而定位性能瓶颈或问题根源。
2025-07-28 17:23:21
821
1
原创 十六、全方位监控:Prometheus
时序数据库(Time-Series Database,简称TSDB)是一种专门用于存储和查询时间序列数据的数据库。主要用于记录随时间变化而不断产生的数据,例如物联网设备传感器数据、服务器性能指标、金融交易记录、天气数据等。相比于传统的关系型数据库或键值存储数据库,TSDB在处理大规模时间序列数据时,具有更高的效率和更好的性能。Prometheus:用于定义 Prometheus Server 实例Alertmanager:用于定义 Alertmanager 实例。
2025-07-21 19:29:13
923
原创 十五、K8s可观测能力:日志收集
Elastic Cloud on Kubernetes(ECK)是Elastic官方提供的Kubernetes Operator,用于简化在Kubernetes环境中部署、管理和扩展Elastic Stack的全方位组件。ECK基于Kubernetes的Custom Resource Definitions(CRDs),可以让用户以声明式的方式定义和管理Elastic Stack组件,比如创建一个Elasticsearch的集群只需要像创建一个Deployment声明一个Yaml,然后创建即可。
2025-07-17 15:50:15
1043
原创 十四、K8s弹性能力:基于KEDA的下一代弹性伸缩
HPA是指K8s水平Pod自动扩缩容(Horizontal Pod Autoscaler)是一个K8s原生的自动化伸缩工具。主要用于根据服务的度量指标(如CPU使用率、内存使用率或其他自定义指标)自动调整服务的副本。HPA可以通过增加或减少工作负载的副本数来确保应用程序能够处理当前的流量和负载,同时避免资源浪费。KEDA(全称:Kubernetes Event-Driven Autoscaler)是一个基于K8s的事件驱动自动伸缩器。
2025-07-14 14:20:35
956
原创 十三、K8s自定义资源Operator
Operator是一种用于扩展K8s API的自定义控制器,可以实现在原生资源对象上进行自定义资源类型。通过Operator,也可以实现将复杂的任务转化对K8s资源的操作,让应用程序的管理和维护更加简单和规范。
2025-07-12 21:48:38
1143
原创 十二、k8s工程化管理Helm
Helm是K8s的包管理器,类似于Linux上的apt或yum,可以用包的形式工程化管理和部署复杂的k8S应用程序,比如一键安装zookeeper集群、一键部署整个项目等。简化应用部署多环境部署快速迭代和回滚CI/CD集成项目一键启动# 创建一个自定义 Chart:test/├── charts # 依赖文件├── Chart.yaml # 当前chart的基本信息├── templates # 模板位置│ ├── _helpers.tpl # 自定义的模板或者函数。
2025-07-11 15:05:36
955
原创 十、K8s集群资源合理化分配
ResourceQuota是一个K8s用于资源管理的对象,主要用于限制命名空间中的资源使用量。K8s管理员可以使用ResourceQuota控制命名空间中的资源使用量,确保资源的合理分配和使用,防止某个命名空间或用户过度消耗集群资源。Qos:Quality of Service,表示程序的服务质量。K8s集群中的每个Pod,都会有对应的Qos级别(在K8s中通过Resources参数即可配置QoS的级别),可用于决定Pod在资源紧张时的处理顺序,同时可以确保关键服务的稳定性和可靠性。
2025-07-07 11:20:27
915
原创 九、K8s污点和容忍
污点作用于节点,主要用于标记节点的属性或者状态,实现在默认情况下可以让Pod无法调度到这些标记了污点到节点上。节点维护资源隔离故障恢复故障隔离容忍作用于Pod,主要用来让Pod可以接受某个污点的限制,也就是让某些Pod容忍节点上配置的污点,可以让一些需要特殊配置的Pod能够调用到具有污点和特殊资源的节点上。污点和容忍相互配合,可以用来避免Pod被分配到不合适到节点上。污点是应用与节点的一种属性,用于排斥某些Pod。节点上的污点会阻止任何没有相应容忍的Pod调度到该节点上。
2025-07-05 16:55:17
737
原创 八、提升服务高可用性
K8s的亲和力(Affinity)是一种调度规则,用用于Pod资源,用于控制Pod的调度行为,比如Pod应该或者尽量调度到哪些节点上、Pod不能哪些Pod部署在一起等,从而实现更灵活的资源管理和资源隔离。K8s的亲和力和支持三种类型:节点亲和力(NodeAffinity)、Pod亲和力(PodAffinity)、Pod反亲和力(PodAntiAffinity)。同时每种亲和力也分为了强制和非强制调度策略,用于实现调度规则是属于尽量满足还是必须满足。名称描述NodeAffinity(节点亲和力)
2025-07-03 16:18:52
1022
原创 七、SpringCloud 项目迁移至 K8s
现有一共 SpringCloud 项目需要迁移至K8s,该项目采用 Eureka 注册中心,并采用前后端分离框架。此博客来源于:https://edu.51cto.com/lecturer/11062970.html。转发至网关服务,其他服务注册至 Eureka ,由网关服务进行流量转发。(任意节点:31394)转发项目的前端,路径。
2025-07-02 17:06:59
1171
1
原创 六、K8s管理
ConfigMap也是k8s的一种资源,主要用于存储配置数据,如程序的环境变量、配置文件等。ConfigMap可以实现把应用程序等配置信息从容器镜像或者代码中分离出来,从而可以更容易等管理和更新配置,而不必重新构建应用程序。
2025-06-30 11:27:24
1170
原创 五、K8s服务发布
用户访问服务间访问基础组件访问Service是K8s开箱即用的一个用于提供负载均衡、服务发现等能力的资源。Service为Pod提供了一个抽象层,将一组具有相同功能的Pod抽象为一个逻辑上的服务。无论匹配的Pod如何变化,比如重启、迁扩缩容等,Service都能保持一个稳定的访问接口,从而让我们无需关心服务所在的具体位置、IP等细节。主要功能:服务之间的服务发现代理一个或一组Pod代理IP或域名。
2025-06-27 15:22:41
1085
原创 四、Kubernetes 调度资源
Deployment是k8s的无状态资源调度器,可以使用声明式的方式描述应用的期望状态,之后由Deployment控制器自动将当前状态改变为期望状态。当 Deployment 有过更新,对应的 RS 可能不止一个,可以通过-o yaml 获取当前对应的 RS是哪个,其余的 RS 为保留的历史版本,用于回滚等操作。查看此 Deployment 创建的 Pod,可以看到 Pod 的 hash 值 5c689d88bb 和上述 Deployment 对应的 ReplicaSet 的 hash 值
2025-06-25 17:44:36
1016
原创 三、kubectl使用详解
Namespace提供了一种将集群资源逻辑上隔离的方式,允许在同一个集群中划分多个虚拟的、逻辑上独立的集群环境,相当于集群的“虚拟化”。Namespace经常用于多个团队和多个项目的场景,可以按照不同的环境划分Namespace,或者按照不同的团队及租户划分NamespacePod是Kubernetes集群中运行和管理的最小部署单元,其内部封装了一个或多个容器,这些容器共享存储、网络、PID、IPC等,并且容器之间可以使用localhost:port相互访问,也可以使用volume等实现数据共享。
2025-06-23 11:02:27
1170
原创 二、容器入门与实战
容器是一种轻量级虚拟化,用于将应用程序和依赖的组件打包在一起,以便在不同的环境中进行移植和运行。Docker是一个开源的容器引擎,属于轻量级虚拟化。可以帮助技术人员将应用以及依赖项,打包到一个可移植的容器中,并可以轻松地发布到任何流行的Linux或Windows操作系统的机器上。Docker通过提供容器化的应用运行环境,解决了环境管理复杂的问题,让应用的部署和运维变得更加简单和高效Dockerfile是一个文本文件,用于定义Docker镜像的构建步骤和过程。
2025-06-21 13:24:14
944
原创 一、初识Kubernetes
Kubernetes(简称K8s,希腊语,意为舵手)是一个开源的容器编排系统,用于容器的自动化部署、扩展,以及提供高可用和负载均衡的运行环境。Kubernetes提供了一个便携、高效的PaaS平台,降低了在物理机或虚拟机上调度和运行服务的难度,同时Kubernetes还整合了网络、存储、安全、监控等能力,是一个非常完善的“云原生操作系统”Kubernetes的前身是谷歌内部的Borg系统,是基于谷歌15年生产环境经验的基础上开源的一个项目。
2025-06-19 16:40:08
827
原创 deepseek 私有化部署
deepseek版本特点轻量级模型,推理速度快,内存占用低支持量化压缩(4bit量化后显存占用<8GB),平衡推理速度与语义理解为7B的优化版本,通过架构调整提升推理效率支持长上下文理解(8K tokens),代码生成准确率显著提升多模态扩展能力,支持图像-文本联合推理复杂逻辑推理能力(数学证明准确率>82%),支持16K超长上下文。
2025-03-25 17:45:06
855
原创 Helm入门
常用命令描述创建Chart示例部署状态helm ls列出已经部署的 Release更新回滚移除卸载更新charts列表# 使用 helm show values 可以查看 chart 中的可配置选项...global:## E.g.##...# 然后,你可以使用 YAML 格式的文件覆盖上述任意配置项,并在安装过程中使用该文件# 查看发布版本安装过程中有两种方式传递配置数据:--values (或 -f):使用 YAML 文件覆盖配置。
2024-11-12 19:45:00
1246
原创 iperf详解与实践
iperf 是一个基于 Client/Server 的网络性能测试工具,可以测试 TCP、UDP 和 SCTP 带宽质量,能够提供网络吞吐量信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息,帮助我们测试网络性能,定位网络瓶颈,其好处是纯粹的发包和接收,不会被硬盘、Flash的等读写速度影响测试结果。
2024-07-02 17:31:00
5563
原创 Linux-tr命令详细使用方法
Linux tr 命令用于转换或删除文件中的字符。tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
2023-11-10 16:44:00
1175
原创 Jenkins详解(三)
Jenkins 功能持续的软件版本发布/测试项目。监控外部调用执行的工作。Jenkins 概念Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的开源项目,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。Jenkins 目的持续、自动地构建/测试软件项目。监控软件开放流程,快速问题定位及处理,提提高开发效率。Jenkins 特性。
2023-09-03 23:02:00
1781
原创 CI/CD入门(二)
Maven是一个采用纯Java编写的开源项目管理工具采用一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。
2023-08-17 10:57:00
1478
1
原创 分布式版本控制系统(一)
注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。用户添加完毕后,gitlab 会给用户发一封修改密码的邮件,各用户需要登录自己的邮箱,并点击相关的链接,设置新密码。该项定义了默认备份出文件的路径,可以通过修改该配置,并执行。
2023-08-15 21:50:00
3097
原创 OpenStack对接Ceph平台
使用 rbd profile 为新的 cinder-backup 用户帐户定义访问权限。然后,客户端应用使用这一帐户基于块来访问利用了 RADOS 块设备的 Ceph 存储。
2023-08-11 22:39:00
2458
1
原创 Ceph集群安装部署
Ceph集群安装部署目录Ceph集群安装部署1、环境准备1.1 环境简介1.2 配置hosts解析(所有节点)1.3 配置时间同步2、安装docker(所有节点)3、配置镜像3.1 下载ceph镜像(所有节点执行)3.2 搭建制作本地仓库(ceph-01节点执行)3.3 配置私有仓库(所有节点执行)3.4 为 Docker 镜像打标签(ceph-01节点执行)4、安装ceph工具(所有节点执行...
2023-08-10 14:56:00
2268
1
原创 OpenStack-Y版安装部署
主机名网卡一网卡二磁盘一磁盘二CPU内存操作系统虚拟化工具说明controller100G2C6GVMware15控制节点compute-01100G20G2C4GVMware15计算节点compute-02100G20G2C4GVMware15计算节点。
2023-08-09 15:24:00
2026
6
原创 OpenStack简介
目录OpenStack简介1、云计算模式2、云计算 虚拟化 openstack之间的关系?3、OpenStack 中有哪些组件?4、计算节点负责虚拟机运行5、网络节点负责对外网络与内网之间的通信5.1 网络节点仅包含Neutron服务5.2 网络节点包含三个网络端口6、存储节点负责对虚拟机的额外存储管理等6.1 存储节点包含Cinder,Swift等服务6.2 存储节点包含最少两个网络端口8、OpenStack计算设施----Nova9、OpenStack镜像服务器----Glance。
2023-08-08 22:04:00
4708
原创 Keepalived非抢占模式配置
非抢占模式,这种模式主要是针对主机崩溃,集群已经重新选出新的主机,并且原来的主机重新上线后并不争夺主机的情况。这种模式适合那些倾向于认为崩溃的主机即便上线还是会出现崩溃的场景。这种模式的核心思想是将所有节点的优先级(priority)值设为相同,当两个节点的优先级相同时,以节点发送VRRP通告的IP作为比较对象,IP较大者为MASTER。
2023-07-27 20:49:00
895
原创 代理服务器之 squid、lvs、nginx、haproxy之间的区别
与正向代理相反,如果局域网向 Internet 提供资源,并让 Internet 上的其他用户可以访问局域网内资源,也可以设置一个代理服务器, 它提供的服务就是反向代理。用于代理内部网络对 Internet 的连接请求(如 VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标 Web 服务器的 HTTP 请求先发送到代理服务器上,然后由代理服务器去访问 Web 服务器,并将 Web 服务器的 Response 回传给客户端。正向代理服务器:squid。
2023-06-29 18:22:00
1917
原创 记一次ubuntu系统磁盘无法挂载之gdisk命令的使用
查看到磁盘分区信息但实际上并未成功。再次查看磁盘分区就没有报错了。我们这里可以看到明显的报错。命令进行修复损坏的分区。
2023-06-15 18:03:00
1094
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅