- 博客(50)
- 收藏
- 关注
原创 060.Kubernetes cert-manager ACME DNS01实战
本文介绍了基于ACME实现Kubernetes证书自动化管理的项目设计与实施过程。项目采用Let's Encrypt免费证书,通过DNS01验证方案为业务域名flask.linuxsb.com申请90天有效期的TLS证书。实施前需检查cert-manager和Nginx Ingress的运行状态,针对国内阿里云DNS托管需额外安装alidns-webhook插件,并创建包含AccessKey的Secret凭据。证书管理使用ClusterIssuer类型,设置10天前置续期时间,确保证书自动更新。项目实现了K
2026-03-21 13:32:14
702
原创 059.Kubernetes cert-manager ACME HTTP01实战
本文介绍了使用cert-manager和Let's Encrypt实现Kubernetes集群证书自动化管理的方案。项目采用HTTP01验证方式,为test命名空间中的spring.linuxsb.com域名申请90天有效期的免费证书,并设置10天前置续期。实施过程包括检查cert-manager和Nginx Ingress环境、验证域名解析、创建ClusterIssuer资源等关键步骤。最后通过注解方式配置Ingress,实现自动证书申请和管理。整个方案实现了证书的自动化获取和更新,简化了HTTPS部署流
2026-03-21 13:29:55
404
原创 058.Kubernetes cert-manager 申请证书及ingress注解介绍
摘要 本文介绍了cert-manager证书申请的配置方法,重点讲解了Certificate资源的核心功能与配置要点。主要内容包括:证书申请的常见场景(如Ingress集成、OpenFaaS等)、Certificate资源的作用(定义申请参数、指定签发器等)以及详细配置说明。文章提供了最简配置示例和完整配置示例,并强调了secretName、issuerRef和dnsNames等关键字段的重要性。特别指出,现代TLS校验主要基于SAN而非commonName,建议终端实体证书避免依赖commonName表示
2026-03-20 23:16:32
518
原创 057.Kubernetes cert-manager ACME方案介绍
摘要 cert-manager是Kubernetes中自动化管理HTTPS证书的工具,支持ACME协议与Let's Encrypt等证书颁发机构集成。它提供两种域名验证方式:HTTP01(通过Web服务验证)和DNS01(通过DNS记录验证),前者适合普通网站,后者支持通配符证书。ACME方案具有浏览器默认信任、自动化程度高且免费等优势。配置ACME签发者需指定服务器地址、注册邮箱和验证方式,cert-manager会自动管理账户私钥并完成证书申请与续期流程。新版本还支持通过profile字段选择证书用途配
2026-03-20 23:14:59
438
原创 056.Kubernetes cert-manager Root CA自签实战
自签Root CA及证书管理实践 本文介绍了使用cert-manager自签Root CA并签发业务证书的完整流程。主要内容包括: 通过SelfSigned方式创建集群级Root CA,设置10年有效期 基于该CA创建ClusterIssuer用于签发业务证书 为测试域名flask.linuxsb.com签发1年有效期的TLS证书 部署测试应用并通过Ingress使用自签证书暴露HTTPS服务 实践表明,cert-manager能够有效管理证书生命周期,包括自动续期等功能,适合集群内部证书管理需求。
2026-03-17 18:43:49
428
原创 055.Kubernetes cert-manager安装及签发器介绍
cert-manager是Kubernetes的证书自动化控制器,通过CRD实现声明式证书管理。它支持从Let's Encrypt等机构自动获取、续期证书,并将证书存储为Kubernetes Secret供Ingress使用。核心概念包括Issuer/ClusterIssuer(证书签发器)和Certificate(证书申请)。安装方式支持manifest单文件部署和Helm(推荐OCI方式),默认部署在cert-manager命名空间。cert-manager能自动完成域名验证、证书申请和续期,简化HTT
2026-03-17 18:41:44
356
原创 附058.Kubernetes Gitea部署
摘要 Gitea是一个轻量级开源DevOps平台,提供代码托管、项目管理、CI/CD等功能。本文介绍了Gitea的主要特性,包括代码托管、轻量快速、安全性和多语言支持等。详细记录了在Kubernetes环境中部署Gitea的完整流程:通过Helm获取资源、准备SSL证书、自定义配置(包括禁用Valkey Cluster和PostgreSQL-HA,改用Valkey和PostgreSQL),最后执行部署并验证服务状态。部署过程涵盖了Ingress配置、持久化存储设置和管理员账户创建等关键步骤。
2026-01-10 12:46:12
1395
1
原创 附057.RustFS云原生Kubernetes部署指南
RustFS是一款基于Rust语言开发的高性能分布式对象存储软件,具有内存安全、开源自由等特点,100%兼容S3协议。文章详细介绍了在Kubernetes集群中部署RustFS的流程:首先规划部署模式(采用4Pod+16PVC的分布式模式),然后通过自动化脚本为所有节点准备存储设备并挂载到指定路径。接着部署local-path-provisioner为RustFS提供PVC支持,修改配置使其数据落盘到指定节点。部署方案包含详细的脚本代码和配置说明,适用于Linux环境下的私有云部署。
2025-12-28 13:23:00
1381
原创 附056.Kubernetes_v1.34.3三节点集群-CentOS版
本文介绍了基于kubeadm工具在三节点上部署Kubernetes 1.34.3集群的方案。主要内容包括:1) 核心组件kubeadm、kubelet和kubectl的功能介绍;2) 集群架构设计,包含1个master节点和2个worker节点;3) 节点规划与主机名配置;4) 环境变量准备脚本。该方案采用融合部署方式,将etcd与master组件部署在同一节点,具有资源占用少、部署简单的特点,但存在单点故障风险。部署包含metrics、dashboard、ingress等周边组件,适用于资源有限的实验环境
2025-12-24 09:20:06
1003
原创 附055.Kubernetes部署Zabbix实战
本文介绍了基于Kubernetes部署Zabbix监控系统的方案。系统采用分层架构设计,包含MySQL存储层、Zabbix Server核心服务层、Nginx前端展示层、报表服务层和Agent采集层。详细说明了各组件的部署方式、功能及依赖关系,包括StatefulSet部署MySQL、Deployment部署Zabbix Server和Web前端、DaemonSet部署Agent等。部署前需准备Kubernetes集群和持久化存储,并创建必要的Secret和ConfigMap资源。
2025-12-24 09:12:34
517
原创 附053.Kubernetes Harbor高可用仓库部署
Harbor是一款开源的云原生制品仓库,提供镜像安全扫描、访问控制和漏洞检测功能。作为CNCF毕业项目,它由Proxy、Registry、Core Services等6大模块组成,支持Docker和Kubernetes部署。在Kubernetes中可通过Helm部署高可用方案,需预先准备PostgreSQL、Redis集群及共享存储。部署时需配置Ingress规则和TLS证书,支持HTTPS访问。Harbor采用容器化架构,包含UI、MySQL、Nginx等8个核心组件,适用于企业级镜像管理场景。
2025-12-17 08:50:31
959
原创 附054.Kubernetes_v1.34.3生产环境高可用部署-欧拉
本文介绍了基于kubeadm工具部署Kubernetes高可用集群的方案。主要部署组件包括kubeadm(集群初始化工具)、kubelet(节点代理)和kubectl(集群管理命令行工具)。方案采用多master节点架构,通过Keepalived+HAProxy实现控制平面高可用,etcd采用融合部署方式。集群包含3个master节点和4个worker节点,运行containerd容器运行时,并集成Prometheus监控、Harbor镜像仓库、Longhorn存储等周边组件。部署过程涉及主机名配置、hos
2025-12-17 08:49:20
1476
原创 附051.Kubernetes Karmada kubectl 插件部署联邦及使用
Karmada是一个开源的Kubernetes多云管理系统,支持跨多集群和云环境部署应用而无需修改应用代码。本文介绍了使用kubectl插件部署Karmada的步骤: 准备Kubernetes集群和Helm工具 安装karmada命令行插件 执行初始化命令部署Karmada控制面组件 验证各组件Pod状态 通过kubectl karmada join命令纳管成员集群 配置kubeconfig切换上下文管理联邦集群 最后通过创建Deployment和PropagationPolicy演示了Karmada的跨集
2025-09-06 12:44:17
855
原创 附050.Kubernetes Karmada Helm部署联邦及使用
Karmada多云Kubernetes管理系统部署指南 本文介绍了使用Helm部署Karmada多云管理系统的完整流程。Karmada是一个开源的Kubernetes多集群管理系统,支持跨多个Kubernetes集群和云环境运行云原生应用,无需修改应用配置。 核心内容 部署准备:需要预先安装Kubernetes集群和Helm工具 Helm部署: 添加Karmada Helm仓库 自定义配置(包括启用descheduler和search组件) 配置持久化存储使用已有StorageClass 验证部署:检查ka
2025-09-06 12:42:58
829
原创 附049.Kubernetes Karmada Local-up部署联邦
Karmada联邦集群本地部署指南 Karmada是一个开源的Kubernetes多集群管理系统,支持跨集群应用部署和资源调度。本文介绍了使用local-up脚本在本地快速部署Karmada的方法。该脚本通过Kind创建容器化集群,自动搭建包含控制平面和3个成员集群的测试环境。部署前需完成系统调优、安装Docker、kubectl、Go和Kind等基础组件,并调整文件句柄限制。执行hack/local-up-karmada.sh脚本即可一键部署,但需注意可能存在的kube-proxy组件异常问题,建议在全新
2025-09-05 09:32:12
1154
原创 010.Redis Predixy + Cluster 架构
摘要 Predixy是一款高性能Redis代理,支持Redis Sentinel和Redis Cluster。文章介绍了Predixy的特性、配置文件结构及Redis集群部署方案。环境准备包括:关闭防火墙/SELinux、配置主机名解析、时钟同步、SSH互信等优化措施。Redis采用编译安装方式,提供自动化部署脚本实现多节点配置。集群规划包含3主3从架构,并配置Predixy作为代理节点。文中详细说明了配置文件分类、变量定义方法以及系统参数调优步骤,为搭建高可用Redis集群提供了完整指导方案。
2025-08-22 08:57:56
1177
原创 009.Redis Predixy + Sentinel 架构
文章摘要 本文介绍了高性能Redis代理Predixy的部署方案,主要内容包括: Predixy概述:支持Redis Sentinel和Cluster模式的全功能代理 环境准备:包括安全设置、节点规划、时钟同步、变量定义和SSH互信配置 Redis安装:编译安装Redis 8.0.3版本,配置系统参数优化 服务管理:通过systemd单元管理Redis服务 方案采用自动化部署方式,通过脚本实现多节点批量安装配置,适用于Redis高可用集群环境。文档详细说明了从基础环境准备到服务部署的完整流程,并提供了相关配
2025-08-21 09:59:03
1720
1
原创 008.Redis Cluster集群架构实践
Redis Cluster模式部署实战 本文详细介绍了Redis Cluster集群模式的部署流程,主要内容包括: 环境准备(关闭防火墙、配置主机名解析、时钟同步) 6节点规划(3主3从)及槽位分配 自动化部署脚本编写(变量定义、互信配置) 系统优化(内存参数、透明大页配置) 编译安装Redis 8.0.3到所有节点 通过systemd服务单元管理Redis进程 部署过程采用脚本自动化方式,实现了从单节点到多节点的批量配置和安装,确保集群环境的一致性。最后提供了Redis服务管理单元文件,便于通过syste
2025-08-20 09:34:21
965
原创 007.Redis Cluster集群架构概述
Redis Cluster是一种分布式数据库方案,通过分片(Sharding)实现数据存储和负载均衡。它将数据划分为16384个哈希槽,由多个节点共同管理,支持自动故障转移。集群通过Gossip协议交互,确保数据一致性和高可用性。相比单机模式,Cluster模式能突破硬件限制,提升性能,但配置较复杂且部分多键操作受限。适用于大规模数据存储、高性能和高可用性要求的场景。其核心原理包括数据分片、自动故障检测和主从切换机制,确保服务持续可用。
2025-08-20 09:33:26
1077
原创 006.Redis 哨兵(Sentinel)架构实战
Redis哨兵模式(Redis Sentinel)是实现Redis高可用的核心机制,通过自动故障转移保障服务连续性。其关键特性包括:分布式架构(至少3个哨兵节点)、自动主从切换、客户端透明访问等。 哨兵集群通过Raft算法选举Leader执行故障转移,判断流程分为主观下线和客观下线两个阶段。当主节点故障时,哨兵会基于优先级、复制偏移量等指标选举新主节点,并自动调整从库复制关系,实现无缝切换。 实战部署需注意: 确保至少3个哨兵节点避免脑裂 合理配置quorum值(通常设为节点数/2+1) 所有节点需时间同步
2025-08-19 19:14:46
1389
原创 005.Redis 主从复制架构
Redis主从复制是一种数据同步机制,通过主节点(Master)和从节点(Replica)的架构实现数据冗余和读写分离。主节点负责处理写操作并异步复制数据到从节点,从节点默认只读。该机制提供数据热备份、故障恢复、负载均衡等价值,是Redis高可用的基础。复制流程包括全量复制(首次同步)和增量复制(断点续传),采用异步方式确保性能。使用时需注意主节点持久化设置、网络延迟可能导致的数据不一致、过期数据处理等问题。实践部署时需配置主从关系、确保时间同步,并建议使用哨兵实现自动故障切换。
2025-08-18 13:10:28
887
原创 004.Redis 数据持久化概述及实战
Redis提供了三种持久化机制:RDB、AOF和混合持久化。RDB通过定时快照保存数据,恢复快但可能丢失部分数据;AOF记录所有写操作,数据更安全但文件较大;混合持久化结合两者优势,先加载RDB快照再应用AOF增量命令。此外,save命令会阻塞服务,而bgsave则在后台异步执行。实际应用中需根据数据安全性和性能需求选择合适的方案。
2025-08-18 10:51:22
858
原创 003.Redis key操作及常见命令
本文介绍了Redis的配置文件详解和数据类型概述。配置文件部分涵盖了Redis的核心配置项,如守护进程模式、端口绑定、日志设置、持久化策略等,并提供了查看和修改配置的两种方法。数据类型部分重点讲解了String类型,包括其二进制安全特性、支持的数据形式以及相关操作命令,特别是SET命令的各种参数用法。此外还简要提及了Redis的其他数据类型(List、Set等)和特殊类型(HyperLogLogs等),以及Redis内部对象编码机制。
2025-08-18 10:48:13
968
原创 002.Redis 配置及数据类型
本文介绍了Redis的配置文件详解和数据类型概述。配置文件部分涵盖了Redis的核心配置项,如守护进程模式、端口绑定、日志设置、持久化策略等,并提供了查看和修改配置的两种方法。数据类型部分重点讲解了String类型,包括其二进制安全特性、支持的数据形式以及相关操作命令,特别是SET命令的各种参数用法。此外还简要提及了Redis的其他数据类型(List、Set等)和特殊类型(HyperLogLogs等),以及Redis内部对象编码机制。
2025-08-17 13:24:01
1025
原创 001.Redis 简介及安装
Redis是一款高性能的内存数据库,支持多种数据结构(字符串、哈希、列表等),具有持久化、原子操作和丰富特性(发布订阅、Lua脚本等)。其优势包括极速读写(11万次/秒读,8.1万次/秒写)、支持事务和集群备份。适用于缓存、排行榜、计数器等场景。安装需Linux环境,通过源码编译并优化系统参数,建议配置后台启动和持久化存储路径。提供redis-server、redis-cli等工具,支持多实例运行。
2025-08-17 13:23:24
693
原创 附048.Kubernetes_v1.33.2三节点集群-Ubuntu版
本文介绍了基于kubeadm工具部署Kubernetes高可用集群的方案。主要内容包括:1)部署涉及的三大核心组件:kubeadm(集群管理工具)、kubelet(节点代理)和kubectl(集群命令行工具)的功能说明;2)部署方案概述,采用Kubernetes 1.33.2版本,包含etcd、Metrics、Helm等周边组件;3)节点规划与配置步骤,包括3节点(1 master+2 worker)的主机名设置、hosts文件修改和变量定义;4)通过SSH互信配置实现master01节点对其他节点的免密管
2025-08-16 10:12:02
1167
原创 附047.集群管理-EFK日志解决方案-Fluentd
Kubernetes集群环境下统一日志管理系统采用EFK架构(Elasticsearch+Fluentd+Kibana),实现日志的集中采集、存储和可视化。Fluentd以DaemonSet方式部署在各节点,收集容器和系统日志并发送至Elasticsearch;Elasticsearch部署在worker节点,负责日志存储与检索;Kibana部署在master节点提供Web界面。部署前需确保API Server配置CA证书并启用DNS服务,通过节点标签实现组件定向调度。该方案解决了多组件、可变节点环境下的日
2025-08-15 15:58:53
886
原创 附046.集群管理-EFK日志解决方案-Filebeat
本文介绍了在Kubernetes集群中统一日志管理的方案,重点阐述了EFK(Elasticsearch+Fluentd/Filebeat+Kibana)技术栈的架构设计和部署方式。主要内容包括:1)Kubernetes环境中日志集中管理的必要性;2)EFK各组件功能说明(Elasticsearch负责存储检索、Fluentd/Filebeat负责采集日志、Kibana提供可视化界面);3)详细部署架构,包括节点角色划分(Worker节点部署Elasticsearch,Master节点部署Kibana,所有节
2025-08-15 15:45:55
992
原创 附045.Kubernetes_v1.33.2高可用部署架构二
本文介绍了基于kubeadm部署Kubernetes高可用集群的方案。主要内容包括:核心组件介绍:kubeadm:集群部署工具,提供init/join/upgrade等命令kubelet:节点核心组件,负责容器生命周期管理kubectl:集群管理命令行工具集群方案概述:版本:Kubernetes 1.33.2架构:3个master节点+4个worker节点高可用:通过Keepalived+HAProxy实现存储:使用Longhorn提供持久化存储
2025-08-15 15:25:54
1351
原创 实践005-Gitlab CICD全项目整合
即对于后端 Java 项目,整合 UnitTest+compile+sonarqube-check ----> build ----> deploy_java_ci/deploy_java_test ----> check_java_ci_pod/check_java_test_pod ----> test 全链路流程。当前后端 java 和前端 web 的构建、测试、编译基于学习目的,都由独立项目通过 gitlab 验证,基于生产环境需要,现需要整合至一个项目中,从而将多个子项目放在一个项目代码仓中。
2025-05-08 15:36:45
1548
原创 实践004-Gitlab CICD部署应用
因此该 runner 后续需要直接在 Kubernetes 中部署业务,需要安装 kubectl 命令,以及配置 kubeconfig 上下文。查看部署在 Kubernetes 后的应用,浏览器直接访问: http://172.24.8.180:32101/demo/hello。查看部署在 Kubernetes 后的应用,浏览器直接访问: http://172.24.8.180:32111。后端 java 项目部署三套环境,即一套 CI 持续集成环境,一套测试环境,一套生产环境。创建如下流水线,基于。
2025-05-07 16:00:00
1222
原创 实践003-Gitlab CICD编译构建
提前在gitlab中创建ALIYUN_USER和ALIYUN_PASSWORD变量,配置阿里云镜像推送的账号和密码。使用Dockerfile构建镜像的步骤可以直接合入到流水线中,即增加build阶段。此编译 jar 包后续需要封装为容器镜像,因此需要将编译的结果作为产物进行共享。提示:如上流水线直接将构建的镜像推送到阿里云镜像仓库,便于后期直接使用。提示:如上流水线直接将构建的镜像推送到阿里云镜像仓库,便于后期直接使用。编写相应的Dockerfile文件,将jar封装为对应的容器镜像。
2025-05-07 11:48:16
912
原创 实践002-Gitlab CICD静态代码检查
SonarQube 是一个开源平台,用于持续检查代码质量并执行自动化分析。它可以与 Jenkins 或 Gitlab 、 Actions 等集成,以便在 CI/CD 流程中自动进行代码审查。其内核是设计思想是 “质量即代码”(Quality as Code) 理念。可靠性(Reliability):预防运行时缺陷安全性(Security):消除漏洞攻击面可维护性(Maintainability):降低技术维护难度。
2025-05-06 12:19:04
1420
原创 附044.Kubernetes_v1.33.0生成环境高可用部署
kubeadm init:用于搭建 Kubernetes 控制平面节点;kubeadm join:用于搭建 Kubernetes 工作节点并将其加入到集群中;kubeadm upgrade:用于升级 Kubernetes 集群到新版本;kubeadm token:用于管理 kubeadm join 使用的 token;kubeadm reset:用于恢复(重置)通过 kubeadm init 或者 kubeadm join 命令对节点进行的任何变更;
2025-05-06 10:00:00
1880
原创 实践001-Gitlab基础项目准备
pytest 自动化测试框架是一个开源且基于 Python 语言的自动化测试框架,其定位是"全栈测试工具链平台",覆盖单元测试、集成测试、端到端测试等多种场景。总结:后端采用 spring boot 创建了一个 apiserver 应用,前端采用 vue 创建了一个 webui 应用,一个 tests 自动化测试项目。灵活多样:Pytest测试框架支持多种测试方式,包括函数式测试、类式测试、参数化测试、fixture测试等。插件机制:Pytest测试框架支持插件机制,可以通过插件扩展测试框架的功能。
2025-04-15 11:48:28
1281
原创 007.Gitlab CICD缓存与附件
缓存是一种 临时存储机制,用于在流水线的不同运行之间保留可复用的中间文件或依赖项(如第三方库、编译中间产物)。其核心目标是 减少重复性任务的执行时间,通过重用已生成的内容来提升作业执行效率。缓存是作业下载和保存的一个或多个文件。使用相同缓存的后续作业不必再次下载文件,因此可以加快作业的执行。使用 cache 关键字定义每个作业的缓存。否则它被禁用。后续流水线可以复用缓存。如果依赖项相同,同一流水线中的后续作业可以使用缓存。不同的项目不能共享缓存。
2025-04-14 16:01:06
1538
原创 006.Gitlab CICD流水线触发
代码变更触发push 事件触发tag 推送触发适用于常规开发流程(提交即构建)或版本发布(结合语义化版本标签)。定时触发流水线计划适用于定期执行测试套件或夜间构建/备份任务。手动触发手动开始流水线手动执行单个作业适用于高风险操作(如生产发布)或需人工审核的流程,需要准确的单个手动执行。API触发Pipeline triggers触发CI_JOB_TOKEN触发适用于外部系统集成(如JIRA事件触发)或多项目级联部署。合并请求(MR)触发MR 创建/更新。
2025-04-12 18:01:41
2652
1
原创 005.Gitlab CICD变量使用
gitlab cicd预定义了大量的变量,也可以手动新增自定义变量。其中各种变量涉及了项目信息、操作信息等。在流水线处理的时候可以使用变量实现更丰富的控制。gitlab cicd中的自定义变量,可以直接在 .gitlab-ci.yml 文件中通过 variables 关键字定义。也可以在图形界面进行创建。在 .gitlab-ci.yml 配置文件中,定义 variables 关键字有两种作用范围,一种的全局变量,一种的局部变量。
2025-04-09 18:50:47
1494
原创 附043.KubeEdge边缘云部署实施方案
KubeEdge 是一个开源系统,将原生的容器化的业务流程和设备管理功能扩展到边缘节点。KubeEdge 是基于 Kubernetes 构建的,并为云,边缘之间的网络通信,应用程序部署以及元数据同步提供核心基础架构支持。同时 KubeEdge 还支持 MQTT,并允许开发人员编写自定义逻辑并在 Edge 上启用一定资源的设备进行通信。KubeEdge 由云端和边缘端组成。
2025-04-08 10:00:00
2994
原创 附042.Kubernetes_v1.32.3生成环境高可用部署方案
kubeadm init:用于搭建 Kubernetes 控制平面节点;kubeadm join:用于搭建 Kubernetes 工作节点并将其加入到集群中;kubeadm upgrade:用于升级 Kubernetes 集群到新版本;kubeadm token:用于管理 kubeadm join 使用的 token;kubeadm reset:用于恢复(重置)通过 kubeadm init 或者 kubeadm join 命令对节点进行的任何变更;
2025-04-01 09:30:00
1611
【Linux系统管理】CentOS操作系统优化实战:从网卡配置到软件安装的全面指南
2025-08-27
Redis 哨兵(Sentinel)架构实战.pdf【Redis高可用架构】基于哨兵(Sentinel)的自动故障转移系统设计与实战部署:确保主从集群稳定运行
2025-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅