- 博客(36)
- 收藏
- 关注
原创 k8s工作负载-DaemonSet案例
本文介绍了在Kubernetes集群中使用DaemonSet控制器实现日志采集和性能监控的方法。首先通过Fluentd的DaemonSet配置实现节点日志采集,并演示了如何通过nodeSelector选择性部署。接着部署Node Exporter采集节点性能数据,配置Service暴露监控端口。最后详细说明了Prometheus的安装配置过程
2026-03-24 08:15:00
426
原创 k8s工作负载-DaemonSet控制器概述
DaemonSet是Kubernetes中的一种控制器,用于确保集群中每个(或指定)节点上都运行一个Pod副本,适用于节点级服务如日志收集和监控。其特点是自动管理Pod生命周期:节点加入时创建Pod,节点移除时回收Pod。配置通过YAML文件定义,包括镜像、端口等参数。操作包括创建、查看和删除DaemonSet,创建后会在每个节点生成一个Pod。示例展示了创建nginx服务的DaemonSet,并验证了各节点Pod的运行状态。
2026-03-23 09:58:24
358
原创 k8s工作负载-Deployment的参数与灰度发布
本文介绍了Kubernetes Deployment配置及其灰度发布功能。主要内容包括:1)Deployment参数详解,如revisionHistoryLimit控制历史版本保留数量、minReadySeconds调节更新速度、paused暂停部署等;2)金丝雀发布实现方式,通过暂停更新流程实现新旧版本并存,逐步验证新版本稳定性;3)实际操作示例展示如何使用kubectl命令进行版本更新、暂停/继续部署及删除Deployment。
2026-03-19 09:15:00
414
原创 k8s工作负载-Deployment的Recreate与RollingUpdate
摘要:本文介绍了Kubernetes Deployment的两种更新策略。Recreate策略会先终止所有旧Pod再创建新Pod,会导致服务短暂中断;RollingUpdate策略则分批更新Pod,确保服务不间断。文章详细演示了两种策略的YAML配置和更新过程,并通过kubectl命令观察Pod更新状态。同时介绍了版本回退操作,包括查看历史版本、回滚到指定版本等功能。最后讲解了RollingUpdate策略中maxSurge和maxUnavailable参数的作用
2026-03-18 08:15:00
443
原创 k8s工作负载-StatefulSet控制器
摘要:StatefulSet是Kubernetes中用于部署有状态应用(如MySQL主从、Redis集群等)的控制器,其特点包括:1)保证Pod有序启动和唯一性;2)提供稳定的网络标识符和持久存储;3)支持有序的扩缩容和滚动更新。通过Headless Service为每个Pod提供固定DNS域名,确保重建后仍能保持原有标识。文中演示了创建包含2个Nginx Pod的StatefulSet,并通过扩容到3个Pod再缩回2个Pod的操作,验证了Pod名称(如myapp-0、myapp-1)的有序性
2026-03-17 08:30:00
342
原创 k8s工作负载-Job和CronJob
本文介绍了Kubernetes中Job和CronJob两种控制器的使用。Job控制器用于管理一次性任务,通过配置completions和parallelism参数可控制任务完成次数和并发数,支持设置重启策略(Never或OnFailure)。CronJob基于Job实现周期性任务调度,通过cron表达式指定执行时间,支持三种并发策略(Allow/Forbid/Replace)。文章详细说明了两种控制器的YAML配置格式,并通过具体案例演示了创建、查看和删除Job/CronJob的操作过程。
2026-03-16 08:15:00
689
原创 k8s工作负载-DaemonSet控制器
摘要:DaemonSet是Kubernetes中确保每个节点运行指定Pod副本的控制器,适用于日志收集、节点监控等场景。文章详细介绍了DaemonSet的特点、资源清单配置及操作命令,包括创建、查看和删除。通过示例展示了如何使用DaemonSet部署Nginx服务,并重点讲解了基于Fluentd的日志采集方案,包括通过nodeSelector实现节点筛选。实验证明,DaemonSet能自动根据节点标签变化调整Pod部署,确保符合条件节点运行所需服务。
2026-03-14 08:15:00
411
原创 k8s工作负载-HPA控制器
Kubernetes的Horizontal Pod Autoscaler(HPA)实现了Pod的自动扩缩容功能。本文首先介绍了HPA的作用机制,它通过监控Pod资源使用情况并与预设指标对比,自动调整Pod副本数。随后详细演示了HPA的部署过程:安装metrics-server组件收集集群指标,创建测试Deployment和Service,配置HPA策略(CPU利用率3%触发扩缩容)。通过压力测试验证了HPA的自动扩缩能力
2026-03-13 08:15:00
378
原创 k8s工作负载-Deployment控制器
摘要:Kubernetes Deployment是管理Pod的高级控制器,通过ReplicaSet间接管理Pod。主要功能包括:支持ReplicaSet所有功能、发布控制、滚动升级和版本回滚。其资源清单文件包含副本数、升级策略等配置。Deployment支持两种更新策略:重建更新和滚动更新,后者可配置maxSurge和maxUnavailable参数。此外还支持版本回退、金丝雀发布(灰度发布)等功能。负载均衡需结合Service资源实现,提供随机、轮询等策略。
2026-03-12 08:15:00
406
原创 k8s工作负载-ReplicaSet控制器
摘要:ReplicaSet是Kubernetes中用于确保指定数量Pod正常运行的核心控制器。它通过标签选择器管理Pod,支持副本数量扩缩容和镜像版本升级。创建时需定义副本数、选择器和Pod模板,通过yaml文件部署。扩缩容可通过编辑yaml或kubectl scale命令实现,镜像升级可通过编辑或set image命令完成。删除ReplicaSet会默认删除关联Pod。该机制有效保障了应用的高可用性,是Kubernetes编排的重要组件。
2026-03-11 15:01:07
443
原创 k8s工作负载-控制器概述
本文介绍了Kubernetes中的Pod控制器及其分类。自主式Pod由k8s直接创建,删除后不会重建;而控制器创建的Pod会自动重建。常见的Pod控制器包括:ReplicaSet(管理副本数量)、Deployment(控制ReplicaSet并支持滚动升级)、DaemonSet(节点单副本运行)、Job(一次性任务)和StatefulSet(有状态应用)等。
2026-03-03 08:15:00
993
原创 k8s核心资源Pod-命名空间资源限制和DownwardAPI
本文介绍了Kubernetes中namespace级别的资源限制配置方法和DownwardAPI的使用。主要内容包括:1)通过LimitRange为namespace设置默认资源限制和边界值;2)使用ResourceQuota定义namespace资源配额,控制CPU、内存和Pod数量上限;3)DownwardAPI的两种数据注入方式:通过环境变量传递Pod元数据,或通过Volume挂载将标签、注解等信息写入容器文件系统。
2026-03-02 08:15:00
779
原创 k8s核心资源Pod-服务质量等级Qos
Kubernetes服务质量(QoS)分类决定了Pod的调度和驱逐优先级,分为三类:Guaranteed(CPU/内存请求和限制相等)、Burstable(至少一个容器有资源请求)和BestEffort(无资源限制)。当资源不足时,驱逐顺序为BestEffort->Burstable->Guaranteed。通过YAML示例演示了三种QoS的配置方法,并解释了CPU和内存达到限额时的处理机制。
2026-02-28 08:15:00
1329
原创 k8s核心资源Pod-资源配额
摘要:Kubernetes资源配额(ResourceQuota)是管理集群资源的重要机制,通过限制命名空间内的资源使用来确保公平分配。主要实现方式包括:1) 通过ResourceQuota对象限制命名空间的资源总量;2) 使用containers.resources选项设置CPU/内存限制,其中limits定义资源上限,requests定义启动所需最小资源;3) CPU单位可用核心数(2)、毫核(2000m)等表示,内存单位支持Gi/Mi等;4) 通过压测案例验证资源限制效果。
2026-02-27 14:24:29
682
原创 k8s核心资源Pod-就绪性探测和启动探测
本文介绍了Kubernetes中Pod生命周期中的就绪性探测(Readiness Probe)和启动探测(Startup Probe)。通过三种方式(exec、tcpSocket、httpGet)演示了就绪性探测的实现,并分析了探测失败的原因。启动探测用于解决复杂程序的启动判断问题,优先于其他两种探测执行。文章详细说明了两种探测的配置参数,包括initialDelaySeconds、timeoutSeconds等,并通过yaml示例展示了httpGet方式的启动探测实现。
2026-02-25 08:15:00
669
原创 k8s核心资源Pod-主容器之存活性探测
摘要:Kubernetes探针是保障容器可用性的关键机制,主要包括存活性探针(livenessProbe)、就绪性探针(readinessProbe)和启动探针(startupProbe)。文章详细介绍了三种探测方式:Exec命令执行、TCP端口检测和HTTP请求检查,并通过具体YAML配置案例演示了它们的应用场景。当探测失败时,Kubernetes会根据探针类型采取重启容器或停止流量转发等操作。
2026-02-24 07:21:47
968
原创 k8s核心资源Pod-主容器之钩子函数
摘要:Kubernetes钩子函数允许在容器生命周期特定阶段执行自定义操作,主要包括postStart(容器创建后)和preStop(容器终止前)。支持三种执行方式:Exec命令(容器内执行命令)、TCPSocket(访问指定socket)和HTTPGet(发起HTTP请求)。示例展示了通过Exec方式在postStart阶段修改Nginx默认页面内容,在preStop阶段优雅关闭Nginx服务。通过yaml文件配置并创建Pod后,验证了钩子函数的执行效果。
2026-02-12 08:15:00
1002
原创 k8s核心资源Pod-生命周期之初始化容器
摘要:本文详细介绍了Kubernetes中Pod的生命周期,以及五种状态(Pending、Running、Succeeded、Failed、Unknown)。重点阐述了初始化容器的作用,它必须在主容器启动前完成,用于准备主容器运行环境。通过一个案例演示了如何使用初始化容器确保nginx在连接MySQL和Redis后才启动,展示了初始化容器在实际场景中的应用。文章还说明了Pod从创建到终止的完整流程,包括API Server、Scheduler、Kubelet等组件的协作过程。
2026-02-11 08:45:00
1003
原创 k8s核心资源Pod-容器指定端口和重启策略
本文介绍了Kubernetes中Pod容器的端口设置和重启策略。在端口设置方面,详细说明了containers.ports的配置选项,包括容器端口、主机端口等参数,并通过示例展示了如何创建带端口配置的Pod。在重启策略部分,阐述了三种策略:Always(默认)、OnFailure和Never,通过不同YAML配置示例演示了各策略的实际效果。
2026-02-10 08:30:00
573
原创 k8s核心资源Pod-启动命令和环境变量
摘要:本文介绍了Kubernetes中Pod配置的两个关键功能。首先分析了busybox容器CrashLoopBackOff故障的原因,指出busybox作为工具集合会自行关闭,需要通过command配置保持运行,并提供了具体实现方法。其次讲解了环境变量(env)的设置方式,可通过yaml文件为容器配置环境变量。
2026-02-09 08:30:00
701
原创 k8s核心资源Pod-镜像拉取
本文介绍了Kubernetes中Pod镜像拉取策略的配置方法及私有镜像仓库Harbor的部署使用。主要内容包括:1)Pod镜像拉取策略的三种方式(Always、IfNotPresent、Never)及其应用场景;2)Harbor私有仓库的优势,如分层传输、权限管理等;3)Harbor的安装配置步骤,包括修改配置文件、启动服务等;4)镜像推送和拉取操作,以及K8S集群如何通过Secret认证从Harbor拉取私有镜像。文章详细演示了从搭建私有仓库到K8S集群使用的完整流程,为企业级容器化部署提供了解决方案。
2026-02-07 08:30:00
1075
原创 k8s核心资源Pod-生命周期之Pod
Pod生命周期包括创建、运行和终止过程,涉及初始化容器、主容器、钩子函数和健康检查等阶段。Pod有五种状态:Pending(挂起)、Running(运行中)、Succeeded(成功)、Failed(失败)和Unknown(未知)。创建过程从用户提交请求开始,经调度器分配节点后由kubelet启动容器;终止过程则通过标记Terminating状态、执行preStop钩子、发送停止信号等步骤完成删除。整个过程通过API Server与etcd协同完成状态同步。
2026-02-06 08:59:38
784
原创 k8s核心资源Pod-Pod配置
本文详细介绍了Kubernetes Pod配置中containers属性的关键配置项。主要内容包括:1)基本容器配置示例及创建方法;2)镜像拉取策略(Always/IfNotPresent/Never)的设置与验证;3)容器启动命令的配置方法,解决busybox容器自动关闭的问题;4)环境变量设置;5)端口配置说明;6)资源配额管理(limits和requests)的设置方法及单位说明。
2026-02-05 13:42:44
861
原创 k8s核心资源Pod-Pod控制器
本文介绍了Kubernetes中的Pod控制器及其使用方式。Pod控制器是管理Pod的中间层,能够自动创建和维护符合用户期望状态的Pod。文章对比了自主式Pod(直接创建但不可重建)和控制器创建的Pod(可自动重建)的区别,并详细说明了各类控制器的适用场景,包括ReplicaSet、Deployment、DaemonSet等。
2026-02-04 08:30:00
811
原创 k8s核心资源Pod-概述
本文介绍了Kubernetes中Pod的基本概念和配置方法。Pod是最小部署单元,包含一个根容器(Pause)和多个用户容器。重点解析了Pod的YAML配置清单,包括必选字段(apiVersion、kind、metadata、spec)和核心配置项(容器定义、网络设置、资源限制、健康检查等)。同时解释了Kubernetes使用Pod而非直接管理容器的原因:Pod能封装容器管理所需的各种信息(如重启策略、探针等),提供了更完善的容器编排能力。
2026-02-03 09:30:00
825
原创 k8s的资源与对象-应用的滚动更新
Kubernetes滚动更新是Kubernetes中实现应用程序不间断升级的关键技术。其核心原理是通过控制器逐步替换Pod版本:首先创建新版本Pod加入ReplicaSet,并按策略控制替换速度,监控更新状态,最终清理旧Pod。具体实现方法包括基于Deployment和Stateful的滚动更新,通过定义maxSurge和maxUnavailable等参数控制更新过程。实践操作中,只需修改yaml文件中的镜像版本并apply即可触发滚动更新,系统会自动完成版本切换
2026-02-02 11:12:39
803
原创 k8s资源和对象-应用的扩展副本和负载均衡
本文介绍了Kubernetes中副本和负载均衡的实现方法。副本通过多节点部署提高系统可用性、扩展性和容错性。负载均衡通过四种Service类型实现:Headless(基于DNS)、ClusterIP(集群内部)、NodePort(对外暴露)和LoadBalancer(云原生高级方案)。实验部分展示了如何创建Nginx部署和配置不同负载均衡策略,这些技术手段共同保障了分布式系统的高性能和可靠性。
2026-01-30 08:30:00
1070
原创 k8s资源与对象-Service资源
本文介绍了Kubernetes中Service的创建和使用方法。Service解决了PodIP易变和外部不可访问的问题,为Pod组提供稳定的访问接口。通过kubectl expose命令可以创建两种Service:ClusterIP类型(仅集群内部访问)和NodePort类型(外部可通过节点IP访问)。文章演示了具体操作步骤,包括创建、查看和删除Service,并提供了YAML配置示例。
2026-01-29 08:45:00
541
原创 k8s资源与对象-Label资源和Deployment资源
Kubernetes中的Label是用于标识和选择资源对象的重要机制,以key/value键值对形式附加到Node、Pod等对象上。Label支持动态添加/删除,可实现多维度资源分组管理。常见Label包括版本、环境、架构等标签。
2026-01-28 08:45:00
650
原创 k8s资源与对象-Namespace资源和Pod资源
Kubernetes中的Namespace和Pod资源详解。Namespace是Kubernetes实现资源隔离的重要机制,可将集群资源划分为逻辑组,实现多租户或多环境隔离。Pod作为最小管理单元,通常通过控制器创建运行。
2026-01-27 08:45:00
1129
原创 k8s资源与对象-资源及其管理方式
本文介绍了Kubernetes资源管理的核心概念和操作方式。主要内容包括:1)Kubernetes将所有内容抽象为资源,最小管理单元是Pod,通过控制器、Service等组件进行管理;2)三种资源管理方式:命令式(直接操作)、命令式配置(命令+文件)、声明式配置(apply命令+文件);3)常用kubectl命令和资源类型分类;4)通过案例演示命名空间和Pod的创建、查询和删除操作。
2026-01-26 08:45:00
1279
原创 k8s集群搭建-集群搭建结果
本文介绍了在Kubernetes集群中部署Nginx、MySQL、Tomcat和Redis应用的测试过程。这些测试验证了Kubernetes集群的基本功能,包括应用部署、服务暴露和外部访问等关键操作。
2026-01-25 08:30:00
1122
原创 k8s集群搭建-集群工具安装
本文详细介绍了Kubernetes集群的搭建过程,包括Master和Node节点的配置。主要内容包括:1) 安装Docker 并配置镜像源和cgroup驱动;2) 安装Kubernetes 1.23.6组件(kubeadm、kubelet、kubectl);3) Master节点初始化配置;4) Node节点加入集群;5) 安装Calico网络插件并解决coredns挂起问题。文中提供了完整的命令序列和配置示例,特别针对国内环境优化了镜像源,并详细说明了关键配置项的修改方法
2026-01-23 11:30:00
823
原创 k8s集群搭建-准备
本文介绍了搭建Kubernetes集群环境的详细步骤。主要内容包括:1)集群类型选择(一主多从或多主多从);2)使用kubeadm安装方式;3)主机规划(1台Master和2台Node节点);4)虚拟机配置要求;5)基础环境准备。文章提供了完整的配置命令,适用于快速搭建测试环境的Kubernetes集群。
2026-01-22 10:31:18
688
原创 k8s快速入门-集群组件概述
Kubernetes(k8s)是一个容器编排系统,用于管理大规模容器化应用。其集群由控制节点(Master)和工作节点(Node)组成:Master包含API Server、Scheduler、Controller Manager和Etcd等核心组件,负责集群决策和资源调度;Node运行Kubelet、KubeProxy和Docker,为容器提供运行环境。部署应用时,请求通过API Server传递,经Scheduler分配到Node,由Kubelet调用Docker启动容器。KubeProxy提供内部服务
2026-01-21 09:42:45
369
原创 k8s快速入门-概述
文章摘要:本章介绍了应用部署方式的演变历程,从传统部署、虚拟化部署到容器化部署,分析了各阶段的优缺点。重点阐述了Kubernetes作为容器编排解决方案的起源和功能特性,包括自我修复、弹性伸缩、服务发现等核心能力。Kubernetes源自Google的Borg系统,现已成为主流的容器编排平台,能够实现资源管理的自动化。(148字)
2026-01-21 09:39:06
399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅