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

认识 Kubernetes:它从哪里来,要解决什么

用最短的篇幅,认识 Kubernetes:它从哪里来,要解决什么

一、前世:从“机器为中心”到“以应用为中心”

  • 远古时代(裸机/虚拟机):应用跑在固定机器上,发版靠脚本+文档,换机器就一堆环境问题。
  • 容器崛起(2013 年):Docker 让“打包一次,到处运行”变容易,但单机容器还不够。
  • Google 的经验:Google 在内部用 Borg / Omega 管理千万级任务。2014 年,他们把这类能力以开源形式带给外界——Kubernetes(k8s)
  • 社区与标准化:2015 年捐给 CNCF,之后云厂商与生态工具百花齐放,k8s 成为容器编排的事实标准

一句话:Docker 解决“一个盒子怎么打包”,Kubernetes 解决“成千上万个盒子怎么可靠地跑起来”。

二、今生:Kubernetes 到底在做什么

Kubernetes 是一个容器编排平台,让你声明“我想要这个应用有 N 个副本、对外暴露服务、需要哪些资源”,它负责把这些要求持续兑现

它的核心价值可以压缩成 5 个词:

  1. 调度:把容器自动分配到合适的节点上跑。
  2. 自愈:实例挂了自动拉起,不用值夜班。
  3. 扩缩:按负载自动调整副本数,省钱也稳。
  4. 发布:滚动升级、灰度、回滚,降低发版风险。
  5. 连接:内置服务发现与负载均衡,让应用彼此“找到对方”。

你提供“期望状态”(YAML/声明式配置),k8s 让“实际状态”追上它;偏了就拉回去。

三、为什么是现在不可或缺的底座

  • 多副本 + 高可用:不怕单点故障。
  • 跨环境一致:开发机、测试、生产一套定义。
  • 资源利用率:在同一集群里装下更多工作负载。
  • 生态齐全:监控、日志、服务网格、存储、批处理、AI 工作流……有现成方案。

如果你的系统需要高可用、频繁发版、弹性扩缩、跨团队协作,k8s 的收益很明显。

四、何时不该上 k8s?

  • 业务体量小、单体应用:一台/几台服务器 + 简单的 CI/CD 更快。
  • 团队暂时缺运维/平台能力:学习曲线陡,容易把时间花在“搭底座”。
  • 超轻量或强托管诉求:直接用云厂商的 Serverless(如 Cloud Run、Lambda)可能更省心。

经验法则:当你开始频繁遇到“自动化、可用性、扩缩、隔离与标准化”的痛点,才是引入 k8s 的好时机。

五、把 k8s 想象成一座城市(直觉化理解)

  • 集群(Cluster):整座城市
  • 节点(Node):城市里的楼宇(服务器)
  • Pod:一间间办公室(最小运行单元)
  • Deployment:运营规则:要开几间办公室、怎么换装修(滚动升级)
  • Service / Ingress:门牌号与大门(稳定入口、流量接入)
  • ConfigMap / Secret:电力和钥匙(配置/密钥)
  • HPA(自动伸缩):根据客流自动加开/关办公室

六、常见落坑与避坑

  1. 过度设计:一上来就全家桶(服务网格、复杂 Operator)。先跑起来,再演进。
  2. 资源没设定:不给 CPU/内存请求与上限,伸缩就失真、节点也容易拥挤。
  3. 观测缺失:没监控、没日志聚合,排错全靠猜。上 Prometheus/Grafana + 集中日志。
  4. 数据持久化:有状态服务要先搞清楚存储(PVC/StorageClass/备份)与恢复演练。
  5. 安全与权限:命名空间隔离、RBAC、镜像签名和漏洞扫描别偷懒。

七、与替代方案怎么选

  • Docker Compose / Swarm:轻量,但生态与弹性扩缩有限。
  • Nomad:更简洁,功能覆盖不同;生态不如 k8s 广。
  • Serverless:无需管集群,但对运行时与网络有约束。
  • 托管 k8s(GKE/EKS/AKS/ACK):减少集群运维成本,是多数团队的折中选项。

选择建议:若你已拥抱容器化、需要多团队协作与弹性,且能承载一点平台投入,选 托管 k8s 往往是最佳性价比。

八、从 0 到 1 的实践最小集(几乎无代码)

  • 镜像:把应用容器化(Dockerfile)。
  • 集群:托管 k8s 或本地 minikube/kind 演练。
  • 部署:最小的 Deployment + Service(只保留必要字段)。
  • 发布:学会滚动升级与回滚(kubectl rollout)。
  • 观测:装 metrics-server、集中日志/监控。
  • 伸缩:加上 HPA,压测验证“有负载就扩,无负载就缩”。

这五步就是从“能跑”到“能稳”的最短路径。

九、30 秒总结

  • Kubernetes 的本质:让海量容器稳定运行自动化运维
  • 它解决的痛点:调度、自愈、扩缩、发布、连接。
  • 何时值得:当你需要高可用、标准化、弹性和生态。
  • 怎么落地:托管 k8s + 最小可行的部署与监控,再按需加功能。

附:一页式实践清单(打印可用)

  • 选择环境:本地(minikube/kind)/ 云托管(GKE/EKS/AKS/ACK)
  • 打包镜像并上传镜像仓库
  • 准备最小 Deployment + Service 清单
  • 安装 metrics-server(HPA 依赖)
  • 配置 CPU/内存 requests & limits
  • 开启 HPA(按 CPU 或自定义指标)
  • 配置日志与监控(Prometheus/Grafana + 日志收集)
  • 演练滚动升级与回滚
  • 有状态应用:规划 PVC/备份与恢复流程
  • 安全:命名空间隔离、RBAC、镜像签名/扫描

图 1|Kubernetes 简史(时间线)

2003-2014 Google 内部调度: Borg/Omega
2013 Docker 普及
2014 Kubernetes 开源
2015 加入 CNCF
2016-2019 云厂商与生态繁荣
2020-至今 事实标准 / 云原生底座

图 2|“城市比喻”架构总览

Cluster/城市
Node/楼宇 #1
Node/楼宇 #2
发布/滚动升级
发布/滚动升级
发布/滚动升级
发布/滚动升级
Deployment/运营规则
Service/门牌号
Ingress/城市大门
ConfigMap/电力
Secret/钥匙
Pod/办公室
Pod/办公室
Pod/办公室
Pod/办公室
用户/流量

图 3|自动伸缩(HPA)工作机制

用户流量metrics-serverHPA 控制器DeploymentPods请求增多,CPU/内存上升1上报资源使用指标2提供当前指标3计算期望副本数 (基于目标阈值)4扩容/缩容 Pod 副本5新副本就绪后开始分担流量用户流量metrics-serverHPA 控制器DeploymentPods
http://www.dtcms.com/a/419960.html

相关文章:

  • 上海微网站制作建设wordpress改了固定链接出现404
  • CKAD-CN 考试知识点分享(15) 限制 内存 request 和 limit
  • 基于cms的企业网站建设建网站的公司大全
  • 行业网站开发程序山儿网站建设公司
  • C语言自学--自定义类型:结构体
  • Oracle快照备库FRA空间满导致无法连接
  • [xboard]17 uboot中的binman
  • 绵阳网站建设怎么选网站互点都是怎么做的
  • 源码下载网站百度下载2021新版安装
  • 给公司建立网站不可以做到的泰兴中信建设有限责任公司
  • MySQL程序简介
  • 创新的赣州网站建设网站建设与维护是什么
  • 湖北省市政工程建设网站网站开发框架的工具
  • sdio的切换I/O电压的详细流程
  • 浮梁网站推广房产网站建设价格
  • Java基础-面向对象复习知识5
  • GitHub 官宣 GitHub Copilot CLI 开发公测:AI CLI 大战
  • 哪些网站可以进行域名注册设计制作一个 个人主页网站
  • OSS-对象存储服务
  • cpa自己做网站高端品牌洗发水
  • 职业教育专业建设验收网站海南做网站的公司有哪些
  • 马云归来,“新零售”不死
  • 湖南省建设厅网站官网镇江网站制作案例
  • 哪些网站是做免费推广的wordpress函数手册 pdf
  • 网站网站做维护犯罪赣州酒店网站设计
  • 洛阳网站建设汉狮报价怎么查域名的注册人
  • 插座配线工程量-连续测量快速计量
  • 软考中级-软件设计师(七)
  • CDN 网站是否需要重新备案链爱交易平台
  • 高端网站建设大概多少费用商城网站建设哪个公司好