
K8s企业级深度研修
文章平均质量分 95
退役小学生呀
当你发现自己的才华撑不起野心时,就请安静下来学习吧!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一、初识Kubernetes
Kubernetes(简称K8s,希腊语,意为舵手)是一个开源的容器编排系统,用于容器的自动化部署、扩展,以及提供高可用和负载均衡的运行环境。Kubernetes提供了一个便携、高效的PaaS平台,降低了在物理机或虚拟机上调度和运行服务的难度,同时Kubernetes还整合了网络、存储、安全、监控等能力,是一个非常完善的“云原生操作系统”Kubernetes的前身是谷歌内部的Borg系统,是基于谷歌15年生产环境经验的基础上开源的一个项目。原创 2025-06-19 16:40:08 · 687 阅读 · 0 评论 -
二、容器入门与实战
容器是一种轻量级虚拟化,用于将应用程序和依赖的组件打包在一起,以便在不同的环境中进行移植和运行。Docker是一个开源的容器引擎,属于轻量级虚拟化。可以帮助技术人员将应用以及依赖项,打包到一个可移植的容器中,并可以轻松地发布到任何流行的Linux或Windows操作系统的机器上。Docker通过提供容器化的应用运行环境,解决了环境管理复杂的问题,让应用的部署和运维变得更加简单和高效Dockerfile是一个文本文件,用于定义Docker镜像的构建步骤和过程。原创 2025-06-21 13:24:14 · 813 阅读 · 0 评论 -
三、kubectl使用详解
Namespace提供了一种将集群资源逻辑上隔离的方式,允许在同一个集群中划分多个虚拟的、逻辑上独立的集群环境,相当于集群的“虚拟化”。Namespace经常用于多个团队和多个项目的场景,可以按照不同的环境划分Namespace,或者按照不同的团队及租户划分NamespacePod是Kubernetes集群中运行和管理的最小部署单元,其内部封装了一个或多个容器,这些容器共享存储、网络、PID、IPC等,并且容器之间可以使用localhost:port相互访问,也可以使用volume等实现数据共享。原创 2025-06-23 11:02:27 · 1095 阅读 · 0 评论 -
四、Kubernetes 调度资源
Deployment是k8s的无状态资源调度器,可以使用声明式的方式描述应用的期望状态,之后由Deployment控制器自动将当前状态改变为期望状态。当 Deployment 有过更新,对应的 RS 可能不止一个,可以通过-o yaml 获取当前对应的 RS是哪个,其余的 RS 为保留的历史版本,用于回滚等操作。查看此 Deployment 创建的 Pod,可以看到 Pod 的 hash 值 5c689d88bb 和上述 Deployment 对应的 ReplicaSet 的 hash 值原创 2025-06-25 17:44:36 · 899 阅读 · 0 评论 -
五、K8s服务发布
用户访问服务间访问基础组件访问Service是K8s开箱即用的一个用于提供负载均衡、服务发现等能力的资源。Service为Pod提供了一个抽象层,将一组具有相同功能的Pod抽象为一个逻辑上的服务。无论匹配的Pod如何变化,比如重启、迁扩缩容等,Service都能保持一个稳定的访问接口,从而让我们无需关心服务所在的具体位置、IP等细节。主要功能:服务之间的服务发现代理一个或一组Pod代理IP或域名。原创 2025-06-27 15:22:41 · 955 阅读 · 0 评论 -
六、K8s管理
ConfigMap也是k8s的一种资源,主要用于存储配置数据,如程序的环境变量、配置文件等。ConfigMap可以实现把应用程序等配置信息从容器镜像或者代码中分离出来,从而可以更容易等管理和更新配置,而不必重新构建应用程序。原创 2025-06-30 11:27:24 · 1097 阅读 · 0 评论 -
七、SpringCloud 项目迁移至 K8s
现有一共 SpringCloud 项目需要迁移至K8s,该项目采用 Eureka 注册中心,并采用前后端分离框架。此博客来源于:https://edu.51cto.com/lecturer/11062970.html。转发至网关服务,其他服务注册至 Eureka ,由网关服务进行流量转发。(任意节点:31394)转发项目的前端,路径。原创 2025-07-02 17:06:59 · 1022 阅读 · 1 评论 -
八、提升服务高可用性
K8s的亲和力(Affinity)是一种调度规则,用用于Pod资源,用于控制Pod的调度行为,比如Pod应该或者尽量调度到哪些节点上、Pod不能哪些Pod部署在一起等,从而实现更灵活的资源管理和资源隔离。K8s的亲和力和支持三种类型:节点亲和力(NodeAffinity)、Pod亲和力(PodAffinity)、Pod反亲和力(PodAntiAffinity)。同时每种亲和力也分为了强制和非强制调度策略,用于实现调度规则是属于尽量满足还是必须满足。名称描述NodeAffinity(节点亲和力)原创 2025-07-03 16:18:52 · 969 阅读 · 0 评论 -
九、K8s污点和容忍
污点作用于节点,主要用于标记节点的属性或者状态,实现在默认情况下可以让Pod无法调度到这些标记了污点到节点上。节点维护资源隔离故障恢复故障隔离容忍作用于Pod,主要用来让Pod可以接受某个污点的限制,也就是让某些Pod容忍节点上配置的污点,可以让一些需要特殊配置的Pod能够调用到具有污点和特殊资源的节点上。污点和容忍相互配合,可以用来避免Pod被分配到不合适到节点上。污点是应用与节点的一种属性,用于排斥某些Pod。节点上的污点会阻止任何没有相应容忍的Pod调度到该节点上。原创 2025-07-05 16:55:17 · 623 阅读 · 0 评论 -
十、K8s集群资源合理化分配
ResourceQuota是一个K8s用于资源管理的对象,主要用于限制命名空间中的资源使用量。K8s管理员可以使用ResourceQuota控制命名空间中的资源使用量,确保资源的合理分配和使用,防止某个命名空间或用户过度消耗集群资源。Qos:Quality of Service,表示程序的服务质量。K8s集群中的每个Pod,都会有对应的Qos级别(在K8s中通过Resources参数即可配置QoS的级别),可用于决定Pod在资源紧张时的处理顺序,同时可以确保关键服务的稳定性和可靠性。原创 2025-07-07 11:20:27 · 744 阅读 · 0 评论 -
十一、K8s细粒度权限管理RBAC
Namespace列表查看权限日志查看权限执行命令权限Pod删除权限资源编辑权限其他权限。原创 2025-07-09 10:35:57 · 1034 阅读 · 0 评论 -
十二、k8s工程化管理Helm
Helm是K8s的包管理器,类似于Linux上的apt或yum,可以用包的形式工程化管理和部署复杂的k8S应用程序,比如一键安装zookeeper集群、一键部署整个项目等。简化应用部署多环境部署快速迭代和回滚CI/CD集成项目一键启动# 创建一个自定义 Chart:test/├── charts # 依赖文件├── Chart.yaml # 当前chart的基本信息├── templates # 模板位置│ ├── _helpers.tpl # 自定义的模板或者函数。原创 2025-07-11 15:05:36 · 860 阅读 · 0 评论 -
十三、K8s自定义资源Operator
Operator是一种用于扩展K8s API的自定义控制器,可以实现在原生资源对象上进行自定义资源类型。通过Operator,也可以实现将复杂的任务转化对K8s资源的操作,让应用程序的管理和维护更加简单和规范。原创 2025-07-12 21:48:38 · 1024 阅读 · 0 评论 -
十四、K8s弹性能力:基于KEDA的下一代弹性伸缩
HPA是指K8s水平Pod自动扩缩容(Horizontal Pod Autoscaler)是一个K8s原生的自动化伸缩工具。主要用于根据服务的度量指标(如CPU使用率、内存使用率或其他自定义指标)自动调整服务的副本。HPA可以通过增加或减少工作负载的副本数来确保应用程序能够处理当前的流量和负载,同时避免资源浪费。KEDA(全称:Kubernetes Event-Driven Autoscaler)是一个基于K8s的事件驱动自动伸缩器。原创 2025-07-14 14:20:35 · 828 阅读 · 0 评论 -
十五、K8s可观测能力:日志收集
Elastic Cloud on Kubernetes(ECK)是Elastic官方提供的Kubernetes Operator,用于简化在Kubernetes环境中部署、管理和扩展Elastic Stack的全方位组件。ECK基于Kubernetes的Custom Resource Definitions(CRDs),可以让用户以声明式的方式定义和管理Elastic Stack组件,比如创建一个Elasticsearch的集群只需要像创建一个Deployment声明一个Yaml,然后创建即可。原创 2025-07-17 15:50:15 · 865 阅读 · 0 评论 -
十六、全方位监控:Prometheus
时序数据库(Time-Series Database,简称TSDB)是一种专门用于存储和查询时间序列数据的数据库。主要用于记录随时间变化而不断产生的数据,例如物联网设备传感器数据、服务器性能指标、金融交易记录、天气数据等。相比于传统的关系型数据库或键值存储数据库,TSDB在处理大规模时间序列数据时,具有更高的效率和更好的性能。Prometheus:用于定义 Prometheus Server 实例Alertmanager:用于定义 Alertmanager 实例。原创 2025-07-21 19:29:13 · 794 阅读 · 0 评论 -
十七、K8s 可观测性:全链路追踪
Skywalking是一个针对分布式系统的应用性能监控(Application Performance Monitor, APM)和可观测性分析平台(Observability Analysis Platform)。Skywalking提供了包括分布式追踪、指标监控、故障诊断信息、服务网格遥测分析、异常告警以及可视化界面等功能,可帮助开发人员和运维团队更好地理解和管理应用和服务。分布式追踪:Skywalking可以为请求生成跟踪数据,能够帮助用户了解整个调用链路的情况,从而定位性能瓶颈或问题根源。原创 2025-07-28 17:23:21 · 619 阅读 · 0 评论