- 博客(57)
- 收藏
- 关注
原创 Prometheus+Grafana 监控 K8s 集群从 0 到 1 全流程(超详细!)
本文详细介绍了使用Prometheus监控Kubernetes集群的完整流程。主要内容包括:1) 配置NFS持久化存储卷;2) 设置Prometheus所需的RBAC权限;3) 为控制平面组件创建Service以暴露指标;4) 通过ConfigMap配置Prometheus的采集规则。文章提供了可直接使用的YAML配置文件,并详细解释了每个配置的作用,涵盖了从存储准备到最终部署StatefulSet的全过程,帮助读者快速搭建Kubernetes监控系统。
2025-08-25 18:18:41
1447
原创 Kubernetes CSI NFS 驱动详解:从部署到动态存储卷实战
本文详细介绍了在Kubernetes集群中部署使用csi-driver-nfs实现NFS动态持久卷的完整流程。主要内容包括:NFS服务器搭建(Ubuntu系统)、CSI驱动安装与验证、创建默认StorageClass配置,以及通过PVC测试动态卷供应功能。该方案支持多节点共享读写,适用于Web静态资源、日志收集等场景,提供动态卷供应、快照、克隆等特性,满足生产环境持久化存储需求。
2025-08-25 16:31:32
1011
原创 详解 Prometheus 四种指标类型:Counter、Gauge、Histogram 与 Summary
本文详细介绍了Prometheus的四种核心指标类型:Counter、Gauge、Histogram和Summary。Counter用于单调递增的累计值,适合记录请求次数等事件;Gauge表示可增减的瞬时值,如内存使用量;Histogram通过分桶统计观测值分布,适用于延迟测量;Summary则直接计算分位数。文章通过示例说明了每种类型的适用场景、PromQL查询方法及Python实现要点,帮助读者构建高质量的监控体系。
2025-08-25 16:00:41
1437
原创 从入门到精通:Ansible 自动化运维与配置管理
本文介绍了Ansible自动化管理工具的基础知识与应用。主要内容包括:自动化管理概念与场景,对比了Ansible与SaltStack的架构特点;详细解析Ansible的无代理架构、功能优势及核心组件;阐述其工作原理与安装方式(RPM/源码/pip);重点讲解配置文件的核心段落与优先级设置,提供主控端与被控端配置示例。文章还涉及Python版本告警的解决方案,帮助读者快速掌握Ansible在企业IT自动化管理中的应用。
2025-08-13 18:14:20
888
原创 MongoDB Operator 在 Kubernetes 中的部署与运维全指南
本文介绍了MongoDB在Kubernetes中的部署方案,主要包括MongoDB Operator和Ops Manager两个核心组件。MongoDB Operator通过自定义资源实现MongoDB集群的全生命周期管理,支持通过Helm快速部署。Ops Manager作为数据库运维平台,提供可视化管理和自动化运维能力,包含Application Database、Ops Manager Application和Backup Daemon三个核心组件,支持单集群和多集群部署模式。文章详细说明了各组件的功能
2025-08-13 17:29:38
995
原创 RocketMQ Operator 在 Kubernetes 中的部署与运维全指南
本文介绍了RocketMQ Operator在Kubernetes集群上的部署与管理方法。RocketMQ Operator是Operator SDK构建的框架组件,用于管理RocketMQ服务实例。文章详细说明了部署步骤:克隆项目后通过make deploy或Helm安装,并提供了版本兼容性问题的解决方案。同时介绍了如何通过自定义资源(CRD)定义RocketMQ集群配置,包括NameServer和Broker集群的规模、镜像、资源限制等参数设置。
2025-08-13 17:19:51
1359
原创 Redis 持久化选型指南:RDB vs AOF,谁更适合你的业务?
Redis提供RDB快照和AOF日志两种持久化方式。RDB默认开启,通过定时快照保存数据,配置项包括存储路径(dbfilename)和触发条件(save)。AOF默认关闭,记录所有写操作命令,可通过appendonly开启,文件会不断增长,需定期使用BGREWRITEAOF重写。RDB性能更好,AOF数据更安全。两者可同时开启,但AOF优先生效。实际应用中应根据业务需求选择合适方式,并注意在业务低峰期执行AOF重写操作。
2025-08-12 18:27:17
463
原创 手把手教你编译部署 Redis 并完成系统级优化
Redis是一款高性能的缓存数据库,主要用于减轻后台数据库压力。本文介绍了Redis的编译安装与配置优化过程:首先在CentOS 7环境下编译安装Redis 6.2.1,配置关键参数如绑定IP、端口、密码等;随后针对系统层面进行优化,包括调整最大文件打开数、修改内核参数(somaxconn和overcommit_memory)以解决启动告警问题;最后通过重启服务验证优化效果。完整的安装日志和优化步骤可帮助用户快速部署高性能Redis服务。
2025-08-12 18:21:30
576
原创 基于 kubernetes 部署 Keycloak 并集成 Harbor 实现统一身份认证
Keycloak是一款开源的身份和访问管理(IAM)工具,支持OIDC、OAuth 2.0、SAML等协议。它通过领域(Realm)管理项目工作区,客户端(Client)管理应用程序,适配器(Adapter)实现集成。在Kubernetes集群中部署Keycloak时,可通过官方提供的yaml文件配置StatefulSet,设置管理员账号、代理头、缓存等参数,并配置健康检查、数据库连接等。部署完成后,Keycloak可作为统一认证中心,为微服务架构提供身份验证和授权服务。
2025-08-12 14:49:12
1362
原创 OpenStack运维篇:Swift组件概述及命令详解
Swift是由Rackspace开发并贡献给OpenStack的分布式对象存储服务,采用一致性哈希算法实现数据均衡分布,支持PB级存储容量。其架构分为访问层(处理REST API请求)和存储层(管理Account/Container/Object数据),通过多副本机制确保高可用性。运维操作包括使用swift stat查看服务状态和openstack container create创建容器等命令。
2025-08-09 21:13:01
638
原创 OpenStack运维篇:Cinder组件概述及命令详解
OpenStack Cinder是独立于Nova的块存储服务,最初由nova-volume分离而来。它通过插件架构整合多种后端存储设备,提供统一的API接口,类似于AWS的EBS服务。Cinder创建的逻辑存储卷可作为云主机磁盘使用,但并非必须依赖Nova。其架构支持卷管理、快照和类型管理,一个卷同时只能挂载到一个虚拟机,不支持共享存储。Cinder主要依赖Keystone进行认证,为OpenStack提供持久化的块存储服务。
2025-08-09 21:11:49
946
原创 OpenStack运维篇:Neutron组件概述及命令详解
本文介绍了OpenStack中网络和子网的基本管理操作。主要内容包括: 网络创建:使用openstack network create命令创建外部网络,设置网络类型、提供商等参数 网络查看:通过network list和network show命令查看现有网络及其详细信息 子网创建:使用subnet create命令创建子网,指定IP范围、网关和所属网络 子网查看:通过subnet list和subnet show命令查看子网详情及分配信息 文中提供了详细的命令参数说明
2025-08-09 21:08:55
381
原创 OpenStack运维篇:Nova组件概述及命令详解
OpenStack Nova是OpenStack的核心计算服务,负责云环境中计算资源的管理和维护。它通过虚拟化驱动与底层Hypervisor交互,实现虚拟机实例的生命周期管理。Nova最初由NASA贡献,经过多个版本迭代,已发展为OpenStack最成熟的项目之一。其架构包含Nova-Compute、Nova-API等模块,并与Keystone、Glance等服务集成。运维操作包括通过openstack命令创建flavor类型,定义云主机的资源配置(如内存、磁盘、CPU等)。
2025-08-09 21:07:10
1141
原创 OpenStack运维篇:Glance组件概述及命令详解
Glance是OpenStack的镜像服务组件,提供虚拟机镜像的注册、查询和检索功能。它采用C/S架构,通过REST API与客户端交互。Glance包含三大核心模块:glance-api(处理REST请求,默认端口9292)、glance-registry(管理镜像元数据)和image store(存储镜像数据)。镜像状态分为Queued(初始状态)、Saving(上传中)、Active(可用状态)、Killed(上传失败)、Deleted(待删除)和Pending_delete(不可恢复)。
2025-08-09 21:05:47
769
原创 OpenStack运维篇:Keystone组件概述及命令详解
Keystone是OpenStack的身份认证服务模块,主要功能包括用户身份认证、令牌管理、服务目录和基于角色的访问控制。它作为服务总线,为其他OpenStack组件提供注册和认证服务。用户通过Keystone获取令牌和服务端点(Endpoint)后,才能访问其他服务资源。Keystone的核心概念包括用户、项目、角色、服务和令牌等,通过严格的认证授权流程确保系统安全。日常运维涉及用户管理操作,如创建用户、修改信息、查看用户列表等。Keystone在整个OpenStack架构中起着关键作用。
2025-08-09 21:03:31
754
原创 OpenStack云平台Q版本手动部署(六):Dashboard服务部署
本文介绍了OpenStack仪表盘(Dashboard)的安装与配置过程。首先通过yum安装openstack-dashboard软件包,然后进行多项关键配置:设置OPENSTACK_HOST参数、配置memcache会话存储、启用Keystone身份认证服务v3版本、配置默认域和用户角色、调整网络服务参数等。接着修改Apache配置文件,添加WSGI应用组设置。最后重启httpd和memcached服务完成部署。
2025-08-09 20:32:19
215
原创 OpenStack云平台Q版本手动部署(五):Neutron服务部署
本文详细介绍了OpenStack控制节点的安装配置过程,主要包括数据库创建、用户和服务配置,以及网络服务的部署。首先创建了Neutron数据库和用户,并配置了服务端点和权限。随后重点讲解了两种网络架构的部署方案:Provider网络和Self-service网络。文中详细描述了Self-service网络的配置步骤,包括安装组件、配置服务、二层网络插件、Linux网桥代理、内核参数设置以及三层代理和DHCP代理的配置。整个流程涵盖了从基础环境搭建到网络服务部署的全过程
2025-08-09 20:30:36
413
原创 OpenStack云平台Q版本手动部署(四):Nova服务部署
本文摘要介绍了OpenStack Nova服务的配置过程,主要包括以下步骤:1)创建Nova相关数据库(nova_api、nova、cell0)并配置权限;2)创建Nova服务用户并分配admin角色;3)创建compute服务实体和认证端点;4)配置placement服务用户和认证端点;5)安装Nova软件包并配置nova.conf文件,设置API、数据库连接、认证、VNC等参数;6)同步数据库并创建cell映射;7)验证cell配置是否正确。这些步骤完成了Nova计算服务在控制节点上的基础部署和配置。
2025-08-09 20:29:33
374
原创 OpenStack云平台Q版本手动部署(三):Glance服务部署
本文介绍了OpenStack镜像服务Glance的安装配置过程。主要内容包括:1) Glance组件架构,包含glance-api、glance-registry和store backend;2) 详细部署步骤:创建数据库和用户、配置认证服务、安装软件包;3) 配置文件修改,重点配置了glance-api和glance-registry的数据库连接和认证参数;4) 数据库同步和服务启动;5) 验证测试,通过下载cirros镜像并上传到Glance服务进行验证。整个过程完整展示了Glance服务的安装和部署
2025-08-09 20:27:58
255
原创 OpenStack云平台Q版本手动部署(二):Keystone服务部署
本文详细介绍了OpenStack Keystone服务的安装与配置过程。首先创建Keystone数据库并授权用户访问权限,然后安装相关软件包。通过修改配置文件设置数据库连接和令牌提供方式,同步数据库并初始化Fernet密钥库。接着配置Apache服务,创建软链接并启动HTTP服务。最后提供了两种引导身份认证服务的方式:一种是使用keystone-manage命令自动创建域、端点和管理员账户;另一种是手动配置环境变量、创建服务实体和端点。
2025-08-09 20:26:47
206
原创 OpenStack云平台Q版本手动部署(一)基础环境配置
本文介绍了基于OpenStack Queens版本的环境搭建过程。主要内容包括:1)硬件与网络规划,配置了控制节点和计算节点,采用双网卡模式;2)系统环境配置,包括主机名修改、IP地址设置、防火墙关闭等;3)软件环境准备,配置yum源并安装必要的软件包;4)数据库(MariaDB)和消息队列(RabbitMQ)的安装与配置。搭建过程详细记录了各项配置命令和参数设置,为OpenStack Queens版本的基础环境部署提供了完整的操作指南。
2025-08-09 20:24:20
476
原创 初识 OpenStack:开源云平台的来龙去脉与架构详解
OpenStack是一个开源的云计算管理平台,起源于NASA和Rackspace在2010年的合作。它提供基础设施即服务(IaaS)的解决方案,通过多个组件协同工作,支持虚拟机管理、网络配置、存储服务等功能。OpenStack具有开放架构、社区支持、灵活扩展等优势,主要包括控制节点、计算节点、网络节点和存储节点四大组成部分。核心组件包括Keystone(认证)、Glance(镜像)、Nova(计算)、Neutron(网络)等,支持公有云、私有云和混合云部署模式。
2025-08-09 20:09:13
1130
原创 cert-manager 是什么?一篇文章搞懂 Kubernetes 证书自动化管理
本文介绍了cert-manager这一Kubernetes证书管理工具,它能够自动签发和续期TLS证书。cert-manager支持多种证书颁发机构,包括Let's Encrypt、HashiCorp Vault等,并可将证书存储在Kubernetes Secret中供应用使用。文章详细讲解了cert-manager的核心架构、部署方式(YAML和Helm)以及使用自签名证书的实战案例,包括创建ClusterIssuer和生成CA根证书的具体步骤。通过cert-manager,用户可以实现证书的自动化管理。
2025-08-09 01:18:26
1472
原创 从「Pending」到「Ready」:MetalLB 让裸金属 Kubernetes 集群拥有真正的 LoadBalancer 服务
在裸kubernetes的集群中是没有LB的功能,该功能一般由云厂商提供。如果集群不是部署在云厂商的提供服务上,则使用到LB功能Service的状态始终都是pendding状态。只能通过NodePort方式和方式将外部流量引入集群中。这在生产系统中进行部署带来很多的不便什么是 MetalLB MetalLB 是一个负载均衡器,专门解决裸金属 Kubernetes 集群中无法使用 LoadBalancer 类型服务的痛点。
2025-08-08 13:24:21
1119
原创 深入理解 Kubernetes 控制器:Deployment、DaemonSet、Job 与 CronJob
Kubernetes控制器(Controller)是管理Pod的核心组件,主要包括Deployment、ReplicaSet、StatefulSet等类型。Deployment是最常用的无状态应用控制器,集成了滚动升级、回滚、副本管理等功能,通过ReplicaSet实现Pod副本数量控制。创建Deployment时需定义副本数、选择器和Pod模板,其管理的Pod具有IP不固定的特点,因此需要Service提供稳定访问端点。
2025-08-07 09:30:42
846
原创 Kubernetes 集群存储解决方案:GlusterFS 深度解析
本文介绍了在Kubernetes集群中部署GlusterFS分布式存储系统的方案。GlusterFS作为开源分布式文件系统,支持PB级存储和横向扩展,通过Heketi实现卷管理。环境包括3节点k8s集群(v1.21.10)和3节点GlusterFS集群(各100G硬盘)。部署步骤涵盖主机配置(IP、免密登录、硬盘格式化挂载)、安全设置(关闭防火墙和SELinux),并借助Heketi的RESTful API实现与k8s的集成,确保存储副本均匀分布。
2025-08-07 09:30:05
896
原创 OpenSSL 从入门到实战:加密原理、命令详解与自建 CA 实现 HTTPS 全流程
本文介绍了OpenSSL开源加密工具库的基本功能和使用方法。主要内容包括:1)OpenSSL简介,说明其作为安全通信工具的重要性;2)安装指南,提供Windows和Linux系统的安装步骤;3)加密技术基础,解释对称加密(如AES、DES)和非对称加密(如RSA、DSA)的原理;4)OpenSSL命令操作,详细说明摘要算法、对称加密和非对称加密命令的使用,包括密钥生成、文件加解密等实用示例。文章为使用OpenSSL进行数据加密和安全通信提供了实用指导。
2025-08-07 09:28:48
1192
原创 Linux 中的 Samba:打通 Linux 与 Windows 的文件共享之桥
Samba服务实现Linux与Windows文件共享 Samba是基于SMB协议的开源文件共享软件,诞生于1991年,用于解决Linux与Windows系统间的文件共享问题。其部署流程包括:1)安装samba软件包;2)配置主文件/etc/samba/smb.conf,设置全局参数和共享目录权限;3)创建系统账户并转为Samba账户;4)调整共享目录权限归属。服务支持share(匿名访问)和user(账户认证)两种安全模式,通过pdbedit命令管理用户账户。
2025-08-07 09:27:45
768
原创 什么是 NFS?如何在 Linux 上开始使用它
NFS(网络文件系统)是一种基于TCP/IP协议的文件共享服务,允许客户端像访问本地目录一样访问远程服务器资源。其实现依赖于RPC机制,需安装nfs-utils和rpcbind软件包,启动顺序为先rpcbind后nfs。NFS通过端口2049(NFS)和111(RPC)通信,挂载原理涉及端口注册和数据连接过程。配置时需设置共享目录权限选项(如rw、sync等),常用命令包括exportfs、showmount等。
2025-08-06 13:04:02
1897
原创 Linux中DHCP 服务器配置详解:一步步教你完成网络自动化
DHCP(动态主机配置协议)是用于局域网中集中管理IP地址分配的协议,能够动态分配IP、网关、DNS等信息,提高地址利用率。其工作原理包括客户端广播请求、服务器响应、地址确认和最终分配四个步骤。DHCP支持自动、手动和动态三种分配方式,具有减少管理员工作量、避免IP冲突等优点。配置DHCP服务器时,需要编辑主配置文件/etc/dhcp/dhcpd.conf,设置地址池范围和参数,还可为特定MAC地址保留固定IP。客户端通过修改网卡配置为DHCP模式即可自动获取IP地址。
2025-08-06 12:56:21
700
原创 手把手教你玩转 LVM:创建、扩容、缩容全实战
本文介绍了Linux中的LVM(逻辑卷管理)技术,包括基本概念、命令操作和扩容流程。LVM通过在物理存储设备上构建逻辑层,提供了更灵活的磁盘管理方式。文章详细说明了物理卷(PV)、卷组(VG)和逻辑卷(LV)的创建命令和对应关系,重点讲解了逻辑卷的扩容流程:先检查并扩展卷组空间,再扩展逻辑卷,最后扩展文件系统。针对不同文件系统类型(xfs和ext)提供了相应的扩容命令,并强调了扩容后需要重新格式化新增空间的操作步骤。通过LVM可以实现存储设备的动态扩展,避免了传统分区系统在空间管理上的局限性。
2025-08-06 12:46:50
1164
原创 Kubernetes 服务暴露:Nginx Ingress Controller 深度解析
Kubernetes集群服务暴露主要通过Ingress控制器实现,其中Nginx Ingress Controller是最常用的解决方案之一。本文介绍了Ingress控制器的作用及多种实现方案,重点分析了Nginx Ingress Controller的部署方法。Ingress控制器作为集群外部访问内部Pod的代理,支持全局访问和流量路由。除Nginx官方方案外,还列举了Kong、Traefik、HAProxy等多种控制器特性,比较了它们在性能、功能和适用场景上的差异。
2025-08-06 09:50:56
1028
原创 kubernetes资源对象之statefulset控制器
Kubernetes StatefulSet控制器是管理有状态应用的核心组件,主要用于部署需要持久存储和唯一标识的应用(如MySQL)。与无状态应用(如Nginx)不同,StatefulSet具有以下特点:提供稳定的网络标识(通过Headless服务实现)、持久化存储(基于PV/PVC/StorageClass)以及有序的部署和扩展机制。通过YAML文件定义StatefulSet时,需要包含Headless服务、StatefulSet资源和存储卷声明模板。
2025-08-06 09:50:42
477
原创 Kubernetes 服务暴露:Traefik 详解与实践指南
本文介绍了Traefik这一现代HTTP反向代理和负载均衡工具的核心特性及其在Kubernetes环境中的部署。Traefik作为边缘路由器,具有自动服务发现、动态配置更新、多后端支持等优势,支持Docker、Kubernetes等多种编排系统。文章详细对比了Traefik与Nginx Ingress的区别,阐述了其核心组件(Providers、Entrypoints、Routers、Services、Middlewares)的工作原理,并提供了在Kubernetes集群中部署Traefik所需的CRD资源
2025-08-06 09:50:03
1435
原创 RabbitMQ Operator在 Kubernetes 中的部署与运维全指南
本文介绍了RabbitMQ在Kubernetes中的两种Operator:Cluster Operator用于管理集群生命周期,支持部署、监控和扩容等;Messaging Topology Operator用于管理消息拓扑结构。文章详细说明了安装方法(包括kubectl插件和Helm方式)、默认配置修改以及使用注意事项,特别强调了Secret管理和特性标志的限制。两个Operator协同工作,分别负责集群运维和拓扑管理,为RabbitMQ在K8s环境中的部署提供了完整的解决方案。
2025-08-06 09:49:36
789
原创 linux 从网络源上拉取软件包到本地 并做成离线源
本文介绍了在CentOS7上创建离线软件源的方法:首先创建目录并下载所需软件包及其依赖项;然后生成元数据文件;最后配置本地yum源。通过这种方式,可以在无网络环境下使用yum安装软件包。
2025-08-06 09:48:47
395
1
原创 Git 零基础入门:从安装到提交代码,看这篇就够了
Git 入门指南 Git 是一个分布式版本控制系统,由 Linus Torvalds 开发,主要用于代码管理。本文介绍了 Git 的基本操作流程:从安装(apt install -y git)、配置用户信息(git config),到仓库初始化(git init)、文件跟踪(git add)和提交(git commit)。重点讲解了如何连接远程仓库、使用标签(git tag)管理版本、查看修改差异(git diff)以及回退版本(git reset --hard)。
2025-08-06 09:48:28
871
原创 k8s当pv回收策略为Retain时如何回收pv
摘要:当PV状态为Released时无法被新PVC申领,需转为Available状态。通过查看PV的yaml文件可见其claimRef字段记录了原PVC绑定信息。删除其中的resourceVersion和uid键后,PV状态可由Released变为Available,从而重新可用。操作示例演示了如何通过修改PV配置实现状态转换,以便再次被PVC申领使用。
2025-08-06 09:47:00
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅