当前位置: 首页 > news >正文

k8s 资源对比总结

以下是 Kubernetes 中常见核心资源的对比表格,帮助理解它们的用途和差异:

1. 核心工作负载资源对比

资源类型主要功能副本管理适用场景关键字段/特性
Pod最小部署单元,封装容器单容器/多容器协作containers, volumes
Deployment管理 Pod 副本和滚动更新无状态应用(如 Web 服务)replicas, strategy
ReplicaSet确保指定数量的 Pod 副本运行通常由 Deployment 自动管理replicas, selector
StatefulSet管理有状态应用的 Pod(唯一标识和顺序)数据库(如 MySQL、Redis)serviceName, volumeClaimTemplates
DaemonSet每个节点运行一个 Pod。也可以通过 Label、Selector 实现在指定节点上运行 Pod。节点级服务(如日志采集)nodeSelector, tolerations
Job运行一次性任务批处理任务completions, backoffLimit
CronJob定时运行 Job定时任务(如每日备份)schedule, startingDeadlineSeconds

2. 网络资源对比

资源类型主要功能适用场景关键字段/特性
Service暴露 Pod 的稳定 IP 和端口内部服务访问selector, type (ClusterIP, NodePort, LoadBalancer)
Ingress提供 HTTP/HTTPS 路由规则外部访问(域名和路径映射)rules, tls
Endpoint记录 Service 后端 Pod 的 IP 列表动态更新 Service 的关联 Pod自动生成,无需手动配置

3. 配置与存储资源对比

资源类型主要功能适用场景关键字段/特性
ConfigMap存储非敏感配置数据(键值对或文件)配置文件、环境变量data, binaryData
Secret存储敏感数据(如密码、证书)加密存储敏感信息data (base64 编码)
PV (PersistentVolume)集群级别的存储资源抽象存储设备(如 NFS、云盘)capacity, accessModes
PVC (PersistentVolumeClaim)Pod 对存储资源的请求绑定 Pod 与 PVresources.requests.storage

4. 其他关键资源

资源类型主要功能适用场景
Namespace逻辑隔离集群资源(如开发、生产环境)多租户资源隔离
HPA (HorizontalPodAutoscaler)自动扩缩容 Pod 副本数动态调整负载(基于 CPU/内存)
Role/RoleBinding定义 RBAC 权限规则控制用户或服务的访问权限

5.对比总结

  • 工作负载管理
    • 无状态应用:用 Deployment
    • 有状态应用:用 StatefulSet
    • 节点级服务:用 DaemonSet
    • 批处理任务:用 Job/CronJob
  • 网络与访问
    • 内部访问:用 Service
    • 外部访问:用 Ingress + Service
  • 配置与存储
    • 配置文件:用 ConfigMap
    • 敏感数据:用 Secret
    • 持久化存储:用 PV + PVC
  • 扩展与安全
    • 自动扩缩容:用 HPA
    • 权限控制:用 Role + RoleBinding

6.示例场景

  1. 部署一个 Web 应用
    • 使用 Deployment 管理 Pod 副本。
    • 使用 Service (ClusterIP) 暴露内部访问。
    • 使用 Ingress 配置外部域名访问。
    • 使用 ConfigMap 挂载配置文件。
  2. 运行一个数据库
    • 使用 StatefulSet 管理有状态 Pod。
    • 使用 PVC 绑定持久化存储。
    • 使用 Secret 存储数据库密码。
http://www.dtcms.com/a/184256.html

相关文章:

  • 通过 Azure DevOps 探索 Helm 和 Azure AKS
  • istio in action之应用弹性与容错机制
  • 理解页内碎片与页外碎片:分页存储管理的关键问题
  • 长短期记忆网络(LSTM)深度解析:从理论到实践的全方位指南
  • 23、DeepSeek-V2论文笔记
  • LangGraph框架中针对MCP协议的变更-20250510
  • YOLOv2框架深度解析
  • Go语言实现优雅关机和重启的示例
  • 九、STM32入门学习之WIFI模块(ESP32C3)
  • TIME - MoE 模型代码 4——Time-MoE-main/run_eval.py
  • 图形化编程革命:iVX携手AI 原生开发范式
  • MNIST 数据并行 Data Parallel - DP
  • 【目标检测系列】YOLOV1解读
  • Go语言实现豆瓣电影Top250爬虫
  • 掌握 void 类型在函数返回值中的应用
  • MIT 6.S081 2020 Lab3 page tables 个人全流程
  • 添加文字标签
  • Docker使用ClickHouse | ClickHouse 配置用户名密码 | ClickHouse 可视化 | windows系统 | 镜像
  • 类型别名与接口的对比与选择
  • Javascript:数组和函数
  • 【心海资源】【最新话费盗u】【未测】提币对方官方波场+没有任何加密+无后门+前端VUE
  • 专业课复习笔记 5
  • Three.js + React 实战系列 - 职业经历区实现解析 Experience 组件✨(互动动作 + 3D 角色 + 点击切换动画)
  • 【星海随笔】信息安全法律法规概述
  • 单片机调用printf概率性跑飞解决方法
  • 大疆卓驭嵌入式面经及参考答案
  • 论文阅读与写作:《从探索到突破:解密科研和论文写作的思维密码》
  • 《从零构建一个简易的IOC容器,理解Spring的核心思想》
  • GitHub打开缓慢甚至失败的解决办法
  • 【QT】UDP通讯本地调试