自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 K8s 的5 种 Pod 调度策略

调度器通过 Kubernetes 的监测(Watch)机制来发现集群中新创建且尚未被调度到节点上的 Pod。调度的主要任务是将Pod分配到集群中的合适的节点上。调度器根据Pod的需求(如CPU、内存、存储等)和节点的资源状况(如可用CPU、内存、节点标签等)来决定Pod部署在哪个节点上。:简单的节点标签匹配调度。亲和性与反亲和性:更灵活的调度控制,基于节点和 Pod 之间的关系进行调度。nodeName:直接指定节点进行调度。Pod 拓扑分布约束:确保 Pod 在集群中的均衡分布,增强高可用性。

2025-11-24 08:52:16 247

原创 为什么优秀的运维都在学这些?2025必备技能清单

2025年的运维,不再是简单的"重启服务器"和"查看日志",而是需要掌握云原生、编程、监控、自动化等全栈能力的平台工程师。运维行业正在经历深刻变革,传统运维岗位在萎缩,新型运维需求在激增。这是危机,更是机遇。那些提前布局、积极拥抱变化的运维工程师,正在快速成长,薪资翻倍。而那些固守传统、拒绝学习的运维,正在被时代淘汰。• 继续做"重启专家",还是成为"平台工程师"?• 被动等待淘汰,还是主动拥抱变化?• 停留在舒适区,还是持续挑战自己?

2025-11-07 14:16:30 996

原创 如何写一个自己的Kubernetes Operator

可见,通过kubebuild已经可以快速创建一个operator的模版,但是还是需要根据实际业务以及需求还定义符合需求的CRD,才能真正的提升我们的云原生治理能力。

2025-11-04 15:44:42 952

原创 Linux启动过程详解

上图是Linux启动过程的基本步骤。理解这个过程,有助于系统管理人员排查问题。下面将详细展开讲解。

2025-09-30 17:28:53 474

原创 Linux 操作必备 150 个命令

Linux 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件, Linux 系统管理的命令是它正常运行的核心,与之前的 DOS 命令类似。Linux 命令在系统中有两种类型:内置 Shell 命令和 Linux 命令。

2025-09-10 09:07:19 610

原创 运维必备:Kubernetes 核心命令全汇总,覆盖 90% 日常场景

实际使用时,可以通过kubectl --help或kubectl <命令> --help获取更详细的帮助信息。kubectl scale deployment <部署名称> --replicas=<数量>:调整部署的副本数量。kubectl explain <资源类型>:查看资源类型的详细说明,如kubectl explain pods。kubectl create namespace <命名空间名>:创建新的命名空间。kubectl get pods -n <命名空间>:查看指定命名空间的 Pod。

2025-09-09 14:22:25 731

原创 50条MySQL常用命令汇总,入门必学!

常用的MySQL命令。

2025-09-09 08:53:59 541

原创 50 个运维项目经验,每一个都值得写进简历!

在 IT 运维领域,简历上的项目经历往往比证书更有说服力。一个经过精心设计和实施的项目,不仅能体现技术能力,更能展示问题解决能力和业务理解深度。本文精选的 50 个运维项目涵盖基础设施、云原生、自动化、安全等十大领域,每个项目都包含具体场景、技术栈、实施步骤和可量化成果,帮你打造让 HR 眼前一亮的专业简历。

2025-09-08 09:32:36 1178

原创 使用 kubeadm 安装 kubernetes v1.32

本文档讲解如何使用 Kubeadm 工具搭建 Kubernetes 集群,kubeadm 是官方推荐的部署工具,可以快速搭建一个生产级别的集群。

2025-08-27 15:11:09 977

原创 Linux系统的yum包管理详解

Linux 系统基本上分两大类:RedHat系列:Redhat、Centos、Fedora 等;Debian系列:Debian、Ubuntu 等。目前国产操作系统基本都是基于这两大派系进行二次开发,整体上是换汤不换药,大多数命令是相通的。而yum是一个RedHat系列的包管理器,基于RPM,使用rpm命令处理包。在CentOS 8及更高版本中被dnf(Dandified Yum)取代,dnf提供了一些性能改进和新的特性,使用上和yum基本相同。

2025-08-21 16:49:57 846

原创 Linux常用快捷键汇总,效率飙升!

在日常运维工作中,熟练Linux快捷键是必备技能,可以提高工作效率,下面我将汇总一下常用的快捷键。

2025-08-21 08:47:35 244

原创 vim编辑器的常用操作汇总

vim 是 vi 的扩展,是一个功能丰富的文本编辑器,对于一个运维人员的必备基础技能之一,就是熟练使用 vim/vi 编辑器。在最小化安装环境一般只有 vi,没有 vim,需要手动安装一下。

2025-08-21 08:43:11 288

原创 生产级 Kubernetes 集群部署:Master 节点高可用最佳实践

主机名ip配置4c4g4c4g4c4glb014c4glb024c4gVIP。

2025-08-09 16:59:50 883

原创 高效配置 Kubernetes 资源限制的实战技巧

Kubernetes 允许你为每个容器(Pod 中的每个容器)设置资源的 请求(Requests) 和 限制(Limits),用于指定单个容器的资源使用范围,防止容器过度消耗节点资源。容器启动时 调度器 将根据请求的资源量来决定将容器调度到哪个节点。请求的资源量是容器运行时所需的最小资源,所调度到的节点上确保容器至少可以获得这些资源。Limits:限制是容器可以使用的最大资源量。如果容器超出了这个限制,Kubernetes 会采取一定措施,如限制 CPU 或杀死容器(内存溢出时会杀死容器)。

2025-08-08 18:05:35 639

原创 网络故障场景排查技巧,作为运维一定要遇事不慌!

今天分享一下Linux网络排查的常见故障场景及使用的命令工具。当你的服务器连不上、接口报错、页面加载慢、端口打不开……别慌!看看下面6 大常见网络故障场景,告诉你如何用 Linux 命令!本文只讲服务器网络排查思路,不讲网络设备排查,那是网工的活1 服务器访问不了公网了。

2025-08-08 18:01:13 404

原创 Kubernetes的Pod调度策略详解及实战操作

调度器通过 Kubernetes 的监测(Watch)机制来发现集群中新创建且尚未被调度到节点上的 Pod。调度的主要任务是将Pod分配到集群中的合适的节点上。调度器根据Pod的需求(如CPU、内存、存储等)和节点的资源状况(如可用CPU、内存、节点标签等)来决定Pod部署在哪个节点上。调度已经在前面文章讲解过了,就不详细展开了。下面就详细介绍一下具体的调度策略:简单的节点标签匹配调度。亲和性与反亲和性:更灵活的调度控制,基于节点和 Pod 之间的关系进行调度。nodeName:直接指定节点进行调度。

2025-08-08 17:54:08 884

原创 实战:在已有K8S集群如何新增和删除Node节点

本篇文章将分享一下如何在已有集群添加新节点和删除现有节点。

2025-08-08 17:39:56 477

原创 安装部署K8S集群环境(实测有效版本)

Calico 在每一个计算节点利用 Linux Kernel 实现了一个高效的虚拟路由器( vRouter) 来负责数据转发,而每个 vRouter 通过 BGP 协议负责把自己上运行的 workload 的路由信息向整个 Calico 网络内传播。因此需要安装containerd(在docker的基础下安装),上面安装docker的时候就自动安装了containerd了。在kubernetes中Service有两种代理模型,一种是基于iptables的,一种是基于ipvs,两者对比ipvs的性能要高。

2025-08-08 17:35:21 947

原创 深入解析Go设计模式:工厂模式实战

工厂模式是一种创建型设计模式,通过封装对象创建逻辑,解耦调用者与具体实现类的依赖关系‌。Go工厂模式具体可以细分为简单工厂模式、工厂方法模式和抽象工厂模式。(一)简单工厂模式简单工厂模式是最常用且实现简洁的模式,通过提供统一入口函数来创建不同对象实例。定义一个Decoder接口,并定义Decode。

2025-08-08 15:19:20 357

原创 云计算运维工程师面试题整理

Bind Mount:-v /host/path:/container/path,直接映射宿主机目录。答:Volume:docker volume create my-vol,独立于容器生命周期。原理:轮询(Round-Robin)模式,数据包依次通过每个网卡发送。原理:主备模式,只有一个网卡活跃,其余作为备份(故障时切换)。缺点:需要对端设备支持(如交换机需配置聚合),否则可能乱序。原理:发送流量基于当前负载分配(自适应),接收仅通过主网卡。答:bridge(默认,容器通过虚拟网桥通信)。

2025-08-08 14:45:00 548

原创 领导想要提拔你,从来看的不是努力,而是希望你有这6点!

而小林呢,他不仅工作认真负责,而且善于沟通,乐于助人,是团队中的“开心果”。更重要的是,小林在工作中展现出了解决问题的能力,能够独立思考,提出有效的解决方案。王经理笑呵呵地听完老张的“委屈”,拍了拍他的肩膀说:“小张啊,你工作努力,领导们都看在眼里。领导都喜欢靠谱的人,交代的事情能按时保质保量完成,遇到问题能及时沟通,不推诿、不扯皮。你有没有发现,公司里那些被领导看重、提拔的人,往往不是最努力的,也不是最“卷”的?高情商的人,懂得换位思考,能够体察他人的情绪,更容易获得他人的信任和支持。

2024-07-17 16:11:40 375

原创 在单位,领导不说,但自己得懂的7个道理

朋友打着如意算盘,心想被裁掉也好,正好拿着赔偿金找下家,可那些天天喊着工作没意思的同事,态度突然来了个180度大转变,说自己跟公司已经有感情了,还整天拍领导马屁。看看现在的AI技术,前有强大无比的Chat GPT,后有让人大呼震惊的Sora,如果不具备学习力,恐怕用不了几年,就被层出不穷的新技术、新人踢出局了。把“不是自己”的那部分舍弃掉,你就能看见“自己是谁”了。不是老板或上司苛刻、难伺候,更不是故意跟你过不去,而是你做错事,造成损失,说再多也无济于事,那就把你调走,免得再出什么纰漏和差错。

2024-07-10 08:57:37 2162

原创 真正的向上管理,不是“跪舔”或“拍马屁”,而是做好这5件事!

领导会议上,演讲平平无奇,你非要故作热情,当众拍马屁、吹牛,说领导演讲精彩绝伦,只会让领导更丢脸。聪明人,往往会整理好答案,放上自己的见解,准备好选项,ABCD,让领导去做选择题,而不是问答题。承诺就是预期,领导在你身上能够感受惊喜,发现你是一个潜力无限的人,自然会越发的看重你。主动创造让领导指点你的机会,不仅可以拉近距离,还能借机求教和示好,让领导对你印象更深。多了解领导,和领导沟通,出现在领导的视野里,能够大大增加你上位的概率。另外,你积极求教,频繁露脸,也是在加深印象,表明你积极工作的态度。

2024-06-05 09:16:05 675

原创 35道必懂的 Linux 运维面试题

能当替用户去访问公网,并且能把访问到的数据缓存到服务器本地,等用户下次再访问相同的资源的时候,代理服务器直接从本地回应给用户,当本地没有的时候,我代替你去访问公网,我接收你的请求,我先在我自已的本地缓存找,如果我本地缓存有,我直接从我本地的缓存里回复你;队列的主要目的是提供路由并保证消息的传递;,会先找本机的 host 文件,再找本地设置的 DNS 服务器,如果也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器,一级域名服务器说只能提供二级域名服务器.

2024-05-08 09:35:23 1686

原创 Spingboot人工智能工程应用框架,你要干的活全部交给它

尽管人工智能有着悠久的历史,但 Java 在该领域的作用相对较小。这主要是由于历史上依赖于用 C/C++ 等语言开发的高效算法,而 Python 则充当访问这些库的桥梁。大多数 ML/AI 工具都是围绕 Python 生态系统构建的。然而,在 OpenAI 的 ChatGPT 等创新的推动下,生成式 AI 的最新进展已经普及了通过 HTTP 与预训练模型的交互。这消除了对 C/C++/Python 库的大部分依赖,并为使用 Java 等编程语言打开了大门。

2024-04-23 09:02:40 1486 1

原创 2024放下手机,用阅读来提升自己,好书推荐

阅读是一种非常有益的学习和提升自我的方式。:《纳瓦尔宝典》、《穷爸爸富爸爸》、《有钱人和你想的不一样》、《智慧投资者》;:《饮食的迷思》、《感恩的奇迹》、《不生气的活法》、《求医不如求己》;:《毛泽东传》、《曾国藩传》、《林徽因传》、《史蒂夫乔布斯传》、;:《影响力》、《少有人走的路》、《刻意练习》、《沉默的大多数》;:《自控力》、《番茄工作法图解》、《暗时间》、《奇特的一生》;:《65种微习惯》、《掌控习惯》、《习惯的力量》、《自律力》;:《复盘》、《只管去做》、《规划最好的一年》、《远见》。

2024-03-26 08:36:28 502

原创 Nginx的反向代理:实现灵活的请求转发和内容缓存

http {server {显得有些复杂和固化。http {server {如果conf的内容过长,还可以进行模块化配置,使用include引用:events {http {server {server {server {server {events {http {server {server {server {server {把下面把一个拆分为多个,每个server可以独立。

2024-02-25 14:11:15 1535

原创 mysql 运行参数优化

4.binlog_format=ROW —— 修改为基于行的复制. 我最近写的另一篇 基于行的复制 ,里面叙述了我真的很喜欢它的原因,因为它可以通过减少资源锁定提高性能. 此外还需要启用两个附加设置: transaction-isolation=READ-COMMITTED and innodb_autoinc_lock_mode = 2.topology )中的所有服务器都必须设置唯一的 server-id.试图设定back_log高于你的操作系统的限制将是无效的。#指定MySQL查询缓冲区的大小。

2024-02-25 14:04:36 2486

原创 Spring Boot+ShardingSphere+MySQL实现分库分表:高效数据库扩展

分库分表是一种数据库水平分割技术,它将一个大型数据库分为多个小型数据库(分库),每个小型数据库包含多个数据表(分表)。这有助于减轻单一数据库的负载压力,提高性能和可伸缩性。ShardingSphere是一款强大的开源数据库中间件,它提供了分库分表、数据分片和负载均衡等功能。通过ShardingSphere,我们可以轻松实现分库分表,使数据库扩展变得更加容易。Spring Boot与ShardingSphere是一个强大的组合,可以帮助您实现分库分表,提高数据库性能和可扩展性。

2024-02-25 14:03:19 1976

原创 微服务架构设计 | 如何设计高性能系统

互联网时代,业务系统的主要特点是用户多、请求量大。尤其在中国这样拥有庞大用户基数的环境下,不用说阿里巴巴、京东这类需要满足双十一大促时每秒几万甚至几十万订单的系统,即使是一些垂直领域的业务系统(如三甲医院的挂号系统)每天也有不小的访问量。在这样的背景下,设计能够承受高并发负载的高性能系统显得尤为重要。本文将从系统性能评估、影响系统性能的主要因素,以及一些具体的设计模式等方面介绍如何设计高性能系统。

2024-02-25 14:01:28 1130

原创 MyBatis批量插入数据从80s到1s优化

以上就是这次批量插入场景问题下如何通过 JDBC 和 MyBatis / MyBatis Plus 框架实现批量插入的整个优化过程了。通过上面的讲解,相信大家应该也可以看出来哪些实现方式是有着良好的效率和性能的。使用 JDBC 推荐使用自己实现批处理方式。使用 MyBatis / MyBaits Plus 推荐使用自己实现的批处理方式或 MP 自带的批处理方法。记得使用批处理方式进行批量插入一定要带上 rewriteBatchedStatements=true,这点很重要。

2024-02-02 13:43:59 1192

原创 Nginx限流配置详解

限流(Rate Limitting)是服务降级的一种方式,通过限制系统的输入和输出流量以达到保护系统的目的。比如我们的网站暴露在公网环境中,除了用户的正常访问,网络爬虫、恶意攻击或者大促等突发流量都可能都会对系统造成压力,如果这种压力超出了服务器的处理能力,会造成响应过慢甚至系统崩溃的问题。因此,当并发请求数过大时,我们通过限制一部分请求(比如限制同一IP的频繁请求)来保证服务器可以正确响应另一部分的请求。nginx 提供了两种限流方式,一种是限制请求速率,一种是限制连接数量。

2024-02-02 13:43:15 1978

原创 Linux运维工程师面试题汇总

①PV - 物理卷:物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。②VG - 卷组:卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。③LV - 逻辑卷:逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。①添加磁盘。

2023-12-20 13:18:43 1941

原创 <优化接口设计的思路>:接口的权限控制

我们在做系统的时候,只要这个系统里面存在角色和权限相关的业务需求,那么接口的权限控制肯定必不可少。但是大家一搜接口权限相关的资料,出来的就是整合Shrio、Spring Security等各种框架,然后下面一顿贴配置和代码,看得人云里雾里。实际上接口的权限控制是整个系统权限控制里面很小的一环,没有设计好底层数据结构,是无法做好接口的权限控制的。那么怎么做一个系统的权限控制呢?我认为有以下几步:那么接下来我就按这个流程一一给大家说明权限是怎么做出来的。

2023-12-19 09:00:13 2045

原创 <优化接口设计的思路>:接口安全

某家电商平台上,用户可以通过客户端发起购物请求,并对所选商品进行下单、支付等操作。为了保障系统的安全性和用户隐私,该电商平台采取了一系列安全措施,包括身份认证、请求过程鉴权和访问控制等三个阶段的验证。第一阶段是身份认证,鉴别客户端的身份。这一阶段可以采用多种方式进行身份验证,如HTTP基本认证、Token认证,和OAuth2认证等。在具体实践中,我们可以在客户端请求接口的时候,一并提交用于身份认证的Token信息,接口服务器可以通过相关的算法验证Token合法性并拒绝非法请求。

2023-12-18 08:58:15 1466

原创 <优化接口设计的思路>系列:留下用户调用接口的痕迹

接口设计是整个系统设计中非常重要的一环,其中包括限流、权限、入参出参、切面等方面。设计一个好的接口可以帮助我们省去很多不必要的麻烦,从而提升整个系统的稳定性和可扩展性。作为接口设计经验分享的第三篇,我想分享一下如何在用户使用过程中留下操作痕迹。在实际开发中,我会采取一些手段来记录用户操作,例如使用日志记录用户行为,或者在数据库中保存用户操作记录。这些痕迹可以帮助我们快速定位和解决问题,同时也可以为后续数据分析和优化提供有价值的参考。

2023-12-13 09:06:29 1057

原创 docker-compose.yml文件配置详解

我们可以通过设置一级配置network自定义网络,创建更复杂的网络选项,也可以用来连接已经存在的网络(不是通过compose创建的)每个service 配置下也可以指定networks配置,来指定一级配置的网络。

2023-12-12 08:52:59 5170 1

原创 如果K8s出现问题,你可以从这9个方面排查

在本例中,它在本地 Namespace(default.svc.cluster.local)、所有 Namespace 中的 Service(svc.cluster.local)以及集群(cluster.local)中查找服务。本文档中,我们假定它是 “cluster.local”,但是您的可能不同,这种情况下,您应该在上面的所有命令中更改它。如果成功,那么需要调整您的应用,使用跨命名空间的名称去访问服务,或者,在相同的 Namespace 中运行应用和 Service。

2023-11-20 17:41:40 224

原创 如果K8s出现问题,你可以从这9个方面排查

在本例中,它在本地 Namespace(default.svc.cluster.local)、所有 Namespace 中的 Service(svc.cluster.local)以及集群(cluster.local)中查找服务。本文档中,我们假定它是 “cluster.local”,但是您的可能不同,这种情况下,您应该在上面的所有命令中更改它。如果成功,那么需要调整您的应用,使用跨命名空间的名称去访问服务,或者,在相同的 Namespace 中运行应用和 Service。

2023-11-17 13:47:23 282

原创 三种跨域解决方案:HttpClient、注解、网关

Spring cloud gateway中的filter分为两种类型的 Filter,分别是Gateway Filter和Global Filter。Spring Cloud Gateway作为Spring Cloud生态系统中的网关,目标是替代Netflix Zuul,其 不仅提供统一的路由方式,并且还基于Filer链的方式提供了网关基本的功能,例如:安全、监 控/埋点、限流等。比如说发送的异步请求是不同的两个源,就比如是不同的的两个端口或者不同的两个协议或者不同的域名。saveHospital方法。

2023-11-16 09:13:29 581

空空如也

空空如也

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

TA关注的人

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