- 博客(164)
- 收藏
- 关注
原创 第二十一章: Kubernetes - DevOps 之 Harbor 和 Jenkins 搭建
本文介绍了基于Kubernetes的DevOps架构方案,重点讲解了Harbor镜像仓库的部署过程。方案采用分层架构设计,包含Kubernetes集群服务器、Jenkins构建服务器和Harbor镜像仓库服务器。详细说明了Harbor服务器的证书生成与配置流程,包括CA证书私钥生成、x509 v3扩展文件创建、证书转换及Docker证书配置等关键步骤,确保Harbor的安全访问。文章提供了完整的命令行操作指南,为搭建企业级Kubernetes DevOps环境提供了实用参考。
2026-03-25 20:52:19
70
原创 第二十章: Kubernetes - K8S 软件部署实战
本文介绍了Kubernetes包管理工具Helm的核心使用方法。主要内容包括: Helm基础概念:Chart作为应用封装单元,Release表示Chart实例 常用操作命令:仓库管理、安装/升级/卸载Chart、查看状态和历史记录 Chart开发流程:创建Chart结构、模板语法(变量替换、条件判断等) 配置文件管理:values.yaml结构、资源请求/持久化存储配置 模板语言:Go模板语法应用,包括变量引用、流程控制等 Helm通过标准化打包和模板化部署,极大简化了Kubernetes应用的管理工作。
2026-03-04 14:57:06
297
原创 第十九章: Kubernetes - Rook Ceph 云原生存储
本文介绍了在Kubernetes集群中部署Rook Ceph云原生存储系统的完整过程。主要内容包括:1)从GitHub获取Rook源码并部署Operator;2)配置Ceph集群,指定存储磁盘并拉取相关组件镜像;3)部署Ceph工具箱及Dashboard,通过NodePort方式暴露服务并获取访问凭证;4)创建块存储池和StorageClass,为后续存储使用做准备。文章提供了详细的命令行操作和YAML配置示例,并展示了各步骤的执行结果截图,为在K8s环境中实现持久化存储提供了实践指导。
2026-02-07 17:53:48
300
原创 第十八章: Kubernetes - Rancher 控制面板使用
本文介绍了Kubernetes管理工具Rancher的安装与使用指南。首先通过Helm安装Rancher依赖的cert-manager组件,然后部署Rancher控制面板,要求必须配置域名访问。安装步骤包括:1)安装Helm工具;2)配置域名解析;3)安装cert-manager;4)通过Helm部署Rancher;5)等待Rancher启动并配置Ingress;6)获取管理员密码登录Web界面。文中提供了详细的命令行操作和验证方法,适合在测试环境中部署单节点Rancher,生产环境建议配置多副本。安装完成
2026-02-07 15:43:11
165
原创 第十七章: Kubernetes - 亲和力与反亲和力
Kubernetes亲和力与反亲和力调度机制详解 本文系统介绍了Kubernetes中Pod调度的三种层级机制,重点讲解了节点亲和力(Node Affinity)和Pod亲和/反亲和(Pod Affinity/Anti-Affinity)的核心概念与应用场景。节点亲和力作为nodeSelector的增强版,支持软硬两种约束条件;Pod亲和力用于控制Pod靠近运行,而反亲和力则确保Pod分散部署。文章详细解析了operator类型、topologyKey拓扑域等关键配置参数,对比了required和prefe
2026-01-22 15:33:01
510
原创 第十六章: Kubernetes - 污点和容忍
Kubernetes污点(Taint)和容忍(Toleration)机制实现了节点主动控制Pod调度的能力。污点是节点设置的排斥规则,包含key=value:effect三部分,effect分为NoSchedule(禁止调度)、PreferNoSchedule(尽量不调度)和NoExecute(禁止调度+驱逐已有Pod)。容忍是Pod声明能够接受的污点,通过operator(Equal/Exists)匹配污点。系统默认会为控制节点和异常节点自动添加污点,Pod也可以设置tolerationSeconds来延
2026-01-22 11:26:53
51
原创 第十五章: Kubernetes - PV/PVC
Kubernetes PV/PVC 机制解耦存储管理与应用开发。PV(PersistentVolume)是集群级别的预配置存储资源,由管理员创建,具有独立生命周期,支持不同访问模式和回收策略(Retain/Delete/Recycle)。PVC(PersistentVolumeClaim)是用户对存储资源的申请,声明所需容量、访问模式和存储类。两者通过storageClassName、accessModes等条件自动绑定,实现存储资源的动态分配。PV生命周期包括Available、Bound、Release
2026-01-22 10:48:39
206
原创 第十四章: Kubernetes - Volume 存储
Kubernetes Volume 摘要 Kubernetes Volume 是解决容器数据持久化和共享的核心机制,与 Pod 而非容器绑定。主要类型包括: emptyDir:临时存储,Pod 删除即消失 hostPath:挂载宿主机目录(存在安全风险) ConfigMap/Secret:配置文件和安全凭证管理 NFS:网络文件系统实现跨节点共享 DownwardAPI:将 Pod 元数据注入容器 Volume 使用需定义 volumes(Pod 级)和 volumeMounts(容器级),生命周期不短于容
2026-01-21 16:05:55
67
原创 第十三章: Kubernetes - ConfigMap & Secret
本文摘要介绍了Kubernetes中ConfigMap和Secret的核心概念与使用方法。主要内容包括:1) ConfigMap与Secret的区别,前者用于普通配置(明文存储),后者用于敏感信息(Base64编码);2) ConfigMap的三种创建方式:命令行、配置文件和目录导入;3) 在Pod中的两种使用方式:作为环境变量注入或挂载为文件。文章提供了详细的命令行操作示例和YAML配置模板,并特别强调Secret并非强加密方案,仅为Base64编码,仍需配合其他安全措施使用。通过将配置与镜像解耦,这些机
2026-01-14 10:24:26
53
原创 第十二章: Kubernetes - HPA
Kubernetes HPA(Horizontal Pod Autoscaler)是一种自动扩缩容控制器,可根据CPU、内存等指标动态调整Pod副本数。文章介绍了HPA的基本概念、工作原理和实际应用。通过Metrics Server获取资源指标,HPA会自动增减Pod数量以匹配目标值。实践部分展示了如何为Nginx部署配置HPA,包括命令行和YAML两种方式创建HPA,并演示了负载测试时的自动扩缩容过程。文章还详细解析了HPA YAML配置中的关键参数,如scaleTargetRef、metrics类型等
2026-01-12 15:40:27
179
原创 第十一章: Kubernetes - Ingress
本文介绍了Kubernetes中的Ingress资源,它允许通过域名访问集群内部应用。主要内容包括Ingress的安装配置,提供了完整的YAML文件示例,其中定义了Namespace、ServiceAccount、Role、ClusterRole等资源,并配置了相应的访问权限。这些配置用于部署ingress-nginx控制器(版本1.13.0),包含了控制器和admission-webhook组件所需的RBAC权限设置,确保Ingress能够正常管理和路由外部请求到集群内服务。
2026-01-09 13:22:53
274
原创 第十章: Kubernetes - Service
Kubernetes中的Service是管理Pod网络访问的核心抽象,为动态变化的Pod提供稳定的访问入口。它通过Label Selector关联后端Pod,提供负载均衡和固定IP/DNS名称,确保服务发现不受Pod生命周期影响。Service支持多种类型:ClusterIP(集群内部访问)、NodePort(节点端口暴露)、LoadBalancer(云环境外部访问)和Headless Service(直接Pod通信)。这种机制有效解决了Pod IP临时性问题,简化了微服务间的网络通信,是Kubernete
2026-01-08 11:05:14
911
原创 第九章:Kubernetes - Job 控制器
在 Kubernetes 中,是一种用来管理批处理任务的控制器,它负责创建一个或多个 Pod,并确保这些 Pod 执行到成功终止。Job 会在 Pod 执行失败时自动重试,直到达到指定的成功数量。当成功的 Pod 数量达到预定的目标时,Job 会结束并清理其所创建的 Pod。Job 可以在 Pod 失败或者节点重启等情况下自动恢复执行任务。
2026-01-08 10:39:05
738
原创 第八章: Kubernetes - Label 和 Selector
摘要: Kubernetes 的 Label(标签)和 Selector(选择器)是核心资源管理工具,用于分类、筛选和调度集群资源(如 Pod、Node、Service)。Label 是键值对(如 tier: frontend),用于标记资源属性;Selector 通过匹配规则(如 in、notin)筛选资源。应用场景包括: 节点调度:通过 nodeSelector 将 Pod 部署到指定标签的节点。 服务管理:为 Service 添加标签并筛选(如 version=v1)。 条件匹配:支持多标签组合查询(
2026-01-07 21:28:55
537
原创 第七章: Kubernetes - DaemonSet 控制器
摘要: Kubernetes DaemonSet 是一种控制器,用于确保每个节点运行指定 Pod 副本,适用于节点级守护进程部署。其核心机制是自动管理 Pod 生命周期:节点加入时创建 Pod,节点移除时删除 Pod。典型应用场景包括分布式存储(如 Ceph)、网络插件(如 Calico)、日志收集(如 Fluentd)、监控工具(如 Node Exporter)等。通过 YAML 配置可快速定义 DaemonSet,示例展示了部署 Nginx 的基本模板,包含镜像、标签等关键参数。DaemonSet 是保
2026-01-07 17:31:36
341
原创 第六章: Kubernetes - StatefulSet(有状态)控制器
摘要:StatefulSet是Kubernetes中管理有状态应用的控制器,为每个Pod提供持久唯一标识符和有序管理。与Deployment不同,它适用于需要稳定网络标识、持久存储和有序部署的应用场景(如数据库集群)。StatefulSet特点包括:稳定的网络标识符、持久存储支持、有序部署和滚动更新。使用限制包括必须使用PersistentVolume存储、需配合Headless Service、删除时需注意顺序等。示例展示了如何创建StatefulSet并配置更新策略(如RollingUpdate)。
2026-01-07 17:11:42
722
原创 第五章: Kubernetes - Deployment 控制器
摘要:本文介绍了Kubernetes中Deployment控制器的核心功能与操作。Deployment用于管理无状态服务,支持滚动更新、自动扩缩容和版本回滚。主要内容包括:1)通过命令或YAML文件创建Deployment;2)配置副本数、更新策略等参数;3)执行镜像更新、扩缩容等操作;4)查看和回滚历史版本。关键配置参数如revisionHistoryLimit、minReadySeconds和滚动更新策略(RollingUpdate/Recreate)也进行了详细说明,为管理微服务应用提供了完整的解决方
2026-01-07 16:06:12
928
原创 第四章: Kubernetes - Controller 控制器
本文介绍了Kubernetes中的Controller控制器,重点讲解了Replication Controller(RC)和ReplicaSet(RS)。Controller是管理和调度Pod的工具,通过监控集群状态确保Pod处于预期状态。文章概述了常见Controller类型:Deployment(最常用)、DaemonSet(每个节点运行一个Pod)、StatefulSet(有状态应用)和Job(一次性任务)。详细说明了RC和RS的功能:RC确保Pod副本数达到期望值,RS是新一代RC,支持更灵活的标
2026-01-07 14:57:55
823
原创 第三章: Kubernetes - Pod 的生命周期和容器探针
本文摘要: Kubernetes Pod生命周期包括Pending、Running、Succeeded、Failed和Unknown五个阶段。Pod被调度后会在节点上持续运行直至终止或被删除,且不具备自愈能力,需依赖控制器管理。容器具有Waiting、Running和Terminated三种状态,并支持PostStart和PreStop两种生命周期回调。Pod的重启策略包括Always、OnFailure和Never三种选项。容器探针分为livenessProbe(存活检查)、readinessProbe(
2026-01-05 16:20:49
608
原创 第二章: Kubernetes - 操作 Pod
本文介绍了Kubernetes中Pod的基本操作与管理方法。主要内容包括:1) 使用kubectl创建、查看、删除Pod的命令;2) 进入Pod容器和查看日志的操作;3) 多容器Pod的配置与使用;4) 标签(Labels)的作用与操作,包括添加、修改、删除和筛选;5) Init容器的特性与定义方法,强调其在业务容器前顺序执行的特点。文章通过具体YAML配置示例和命令行操作,展示了Pod的生命周期管理和多容器协同工作的实现方式,为Kubernetes初学者提供了实用的操作指南。
2026-01-05 11:41:44
274
原创 第一章: Kubernetes - Pod基础概念
本文摘要: Kubernetes是一个开源的容器编排平台,其架构包含Master节点(控制中枢)和Node节点(工作节点)。Master节点包括API Server、Controller Manager、Scheduler和Etcd等核心组件;Node节点运行Kubelet、Kube-proxy等组件。Pod是Kubernetes中最小的可部署单元,由一组共享网络、存储和上下文的容器组成,通常包含一个Pause容器作为父容器。Pod可以运行单个或多个协同工作的容器,但通常通过Deployment等资源来管理
2026-01-05 11:22:34
490
原创 第零章(K8s启航):最新Ubuntu25 安装最新K8S (断电重启、断电重置)超详细步骤,安装不好你来打我~
Ubuntu上安装Kubernetes集群指南 本文详细介绍了在Ubuntu系统上安装Kubernetes集群的完整步骤,包括: 服务器初始化:配置主机名、时区同步、禁用swap分区、修改内核参数和启用IPVS功能 Docker安装:设置Docker仓库、安装Docker CE、配置镜像源并验证安装 CRI-Docker安装:下载安装cri-dockerd组件,创建systemd服务并启用 Kubernetes组件安装:添加阿里云镜像源,安装kubeadm、kubelet和kubectl工具 版本控制:建议
2025-12-31 14:19:23
351
原创 Java String详解与日志分析器实战
Java的String类是Java编程中最常用的类之一,掌握其基本操作、性能优化技巧以及实际应用方式对于编写高效、可维护的代码至关重要。本文从字符串的不可变性、常量池、常用操作、性能优化等方面进行了详细讲解,并通过一个日志分析器的示例展示了其在实际项目中的应用。通过合理使用字符串操作方法和性能优化技巧,可以有效提高程序的运行效率和可读性。希望本文对您在学习和使用Java字符串时有所帮助。
2025-08-19 11:29:26
932
原创 Java反射详解与实战应用:深入理解反射机制及其实际用途
反射(Reflection)是指在运行时动态地获取类的结构信息,并对其进行操作的能力。Java的反射机制允许我们在运行时查看类的属性、方法、构造函数、接口、注解等,并且可以动态调用方法、修改字段值等。Java反射机制是一个非常强大且灵活的工具,它允许我们在运行时动态地操作类和对象。虽然反射在性能上略逊于直接调用,但在需要高度灵活性和扩展性的场景下,反射无疑是一个不可或缺的利器。通过本文的讲解和示例代码,希望读者能够掌握反射的基本使用方法,并能够在实际项目中灵活运用。
2025-08-19 11:16:26
460
原创 Java反射机制详解:从基础到实战
Java反射机制是一项非常强大的技术,它使得程序在运行时具有高度的灵活性和可扩展性。通过反射,我们可以动态地获取类的信息、创建对象、调用方法和访问字段。反射机制广泛应用于各种框架和库中,是Java开发中不可或缺的一部分。掌握反射机制不仅有助于理解框架的底层实现原理,还能帮助开发者编写更加灵活和通用的代码。在实际开发中,合理使用反射可以提高代码的可维护性和可扩展性,但也需要注意其带来的性能和安全问题。希望本文能帮助你全面掌握Java反射机制,并在实际项目中灵活应用。
2025-08-19 11:11:04
332
原创 Java IO详解与实战:深入理解输入输出流
本文系统地讲解了Java IO的核心内容,包括字节流、字符流、缓冲流、对象流等,并通过代码示例展示了其使用方法。最后,通过一个日志文件处理与备份的实战案例,演示了Java IO在实际项目中的应用。掌握Java IO对于开发文件处理、网络通信、数据持久化等功能至关重要,是Java开发者的必备技能之一。
2025-08-19 11:07:22
684
原创 Java Map 接口详解与实战:从基础到高级应用
Map是一个键值对(Key-Value)结构的集合,每个键(Key)对应一个值(Value),并且 Key 是唯一的。Java 中常见的MapHashMap:基于哈希表实现,不保证顺序。TreeMap:基于红黑树实现,支持按键排序。:保留插入或访问顺序。:线程安全的 Map 实现。int age;// 必须重写 equals 和 hashCode 方法@Override@Override// 输出 Engineer本文详细讲解了 Java 中Map。
2025-08-11 14:17:07
317
原创 Java Map 接口详解与实战:从基础到高级应用
Map 是 Java 集合框架中的一个接口,用于存储键值对(Key-Value Pair),每个键对应一个值。键是唯一的,值可以重复。HashMap:基于哈希表实现,无序,线程不安全TreeMap:基于红黑树实现,按键排序:保留插入顺序:线程安全,适用于并发环境Java 中的 Map 是一个非常强大且灵活的数据结构,适用于多种场景,如缓存、统计、权限管理等。本文从基础到高级详细讲解了 Map 的使用方式,并通过一个完整的用户权限缓存系统展示了其在实际项目中的应用。
2025-08-11 14:08:10
865
原创 Docker Compose 详解与实战:从入门到精通的容器编排技术
networks:services:web:networks:db:networks:Docker Compose 是现代云原生开发中不可或缺的工具之一,它简化了多容器应用的部署流程,提升了开发效率与环境一致性。本文通过详细讲解其核心功能、YAML 配置、进阶技巧及一个完整的实战案例,帮助读者掌握 Docker Compose 的使用方法,并能够将其应用到实际项目中。如需进一步学习 Docker Compose 的高级用法(如负载均衡、健康检查、自定义插件等),欢迎关注后续系列文章。
2025-08-11 11:13:24
699
原创 Docker Compose 详解与实战:从入门到精通的容器编排技术
Docker Compose 是 Docker 官方提供的一个工具,允许用户通过一个 YAML 文件来定义一组服务、网络、卷以及其他 Docker 对象。使用 Docker Compose,可以一键启动、停止、重建和管理整个应用的容器化服务。Docker Compose 是一个强大的工具,能够极大地简化多容器应用的部署和管理。通过一个文件,开发者可以轻松地定义、启动和管理整个应用的容器化服务。
2025-08-11 10:33:46
1015
原创 Docker详解与实战:从入门到精通的容器化技术应用
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中,从而实现“一次构建,处处运行”的目标。Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。Docker 是现代软件开发中不可或缺的工具,它简化了应用的部署流程,提高了开发效率。
2025-08-06 09:39:43
797
原创 Ruby语法详解与实战应用:从基础到项目实践
方法使用def关键字定义。end@age = ageendendendendendendend")本文详细讲解了 Ruby 的基础语法和高级特性,包括变量、控制结构、方法定义、类与对象、模块、块、闭包和元编程等内容,并通过一个简单的博客系统展示了如何将这些知识应用到实际开发中。希望读者通过本文能够掌握 Ruby 编程的核心概念,并能够应用于实际项目中。
2025-07-30 22:03:51
480
原创 JSP语法详解与实战应用:从基础到场景实现
本文详细介绍了 JSP 的基本语法、常用指令、动作标签和内置对象的使用,并通过一个“用户注册与登录系统”的完整示例展示了 JSP 在实际 Web 开发中的应用。通过这些内容,读者可以掌握 JSP 的核心功能,并能够使用 JSP 构建简单的动态网页应用。
2025-07-30 21:28:58
1173
原创 SQL Server SQL语法详解与实战应用:从基础到场景实现
DDL 用于定义和管理数据库对象,如表、视图、索引等。常见的 DDL 语句包括CREATEALTERDROP等。本文详细介绍了 SQL Server 的 SQL 语法,包括 DDL、DML、DCL、TCL 等基本操作,并结合丰富的代码示例展示了如何使用这些语法进行数据库操作。最后,我们设计了一个完整的“员工管理系统”应用场景,展示了如何将 SQL Server 的各项功能综合应用于实际项目中。通过本文的学习,读者可以掌握 SQL Server 的核心 SQL 语法,并具备开发简单数据库应用的能力。
2025-07-30 14:23:37
794
原创 SQL Server SQL语法详解与实战应用
CREATE语句用于创建数据库对象,如表、视图、索引等。-- 创建表-- 创建视图-- 创建索引本文详细讲解了 SQL Server 的 SQL 语法,涵盖了数据查询、数据操作、数据定义和数据控制语言,并通过丰富的代码示例展示了其用法。最后,我们设计了一个实际的员工管理系统应用场景,帮助读者更好地理解和应用 SQL Server 的强大功能。希望本文能够帮助读者掌握 SQL Server 的基本语法,并在实际项目中灵活运用。
2025-07-30 09:51:18
581
原创 深入解析MyBatis-Plus:高效ORM框架的应用与实战
MyBatis-Plus 是一个强大的 MyBatis 增强工具,它提供了许多开箱即用的功能,如自动映射、条件构造器、分页插件和代码生成器。通过这些功能,开发者可以快速实现数据库操作,提高开发效率。在本文中,我们详细介绍了 MyBatis-Plus 的核心功能,并通过一个实际的应用场景展示了如何使用 MyBatis-Plus 构建一个完整的用户管理模块。希望本文能够帮助开发者更好地理解和使用 MyBatis-Plus。
2025-07-22 15:42:03
1115
原创 从零开始:小白如何成长为程序员大佬(含技术栈与项目实践)
从零开始成为程序员大佬并非一蹴而就,但只要坚持学习、不断实践,就能在技术道路上越走越远。希望本文能为你提供参考,助你顺利踏上编程之路!
2025-07-21 20:22:45
324
原创 Oracle SQL语法详解与实战应用
本文系统地讲解了Oracle SQL的基础语法、连接操作、子查询、高级特性,并通过一个实际应用场景展示了SQL在真实业务中的应用。掌握这些内容,有助于开发者更高效地进行数据库开发与管理,提高系统性能与数据处理能力。
2025-07-21 17:31:19
880
原创 后端架构师必备技术栈详解:从编程语言到分布式系统设计
软件后端架构师是系统设计与技术决策的核心角色,需掌握多方面技术栈,并具备系统思维、工程能力和沟通协调能力。通过不断学习和实践,才能构建高性能、可扩展、高可用的后端系统,支撑企业业务的快速发展。
2025-07-21 17:25:33
685
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅