🏠 首页 攻略 Kubernetes是什么?容器编排的瑞士军刀

Kubernetes是什么?容器编排的瑞士军刀

Kubernetes(简称K8s)是Google开源的容器编排平台,帮你一键管理成百上千个容器。本文用通俗语言讲透K8s核心概念、架构原理和常见用法,零基础也能看懂。

你有没有遇到过这种情况?

你写了一个很棒的Web应用,用Docker打包好部署到服务器,跑得很顺利。

然后老板说:用户太多了,要加两台服务器。

你开始头疼——两个服务器上的容器怎么同步?一个崩了怎么自动重启?流量怎么分配?

这时候,Kubernetes(简称K8s)就派上用场了。

K8s 到底是什么?

Kubernetes是Google在2014年开源的容器编排平台

用大白话说:Docker负责把一个应用打包成容器,Kubernetes负责帮你管理成百上千个这样的容器。

想象你有一百个外卖骑手(容器),他们分散在城市各处(不同服务器)。如果没有调度中心,你会累死——哪个骑手接哪个单、哪条路最近、骑手累了怎么办,全要你操心。

Kubernetes就是那个调度中心。它知道所有骑手在哪、谁有空、谁在休息,自动把订单分配给最合适的骑手。

K8s 的核心概念

Pod:最小单元

K8s里最小部署单位叫Pod。一个Pod可以跑一个或多个容器。

就像快递盒,里面可能装一件商品,也可能装好几件小商品。大多数情况下,一个Pod跑一个容器就够。

Deployment:怎么部署

Deployment决定了你部署几个副本、用哪个镜像、怎么更新。

比如你说"部署3个Nginx容器",K8s会确保任何时候都有3个在跑。如果你更新了镜像,它会滚动替换,保证服务不中断。

Service:怎么访问

Pod有IP,但容器一重启IP就变了。怎么办?

Service给一组Pod提供一个固定的入口地址。就像你公司的总机号码,不管员工换不换工位,总机永远一样。

Node:物理服务器

Node是实际跑Pod的服务器(物理机或虚拟机)。K8s集群里可以有很多Node。

Cluster:整个集群

所有Node加上控制中心(Master节点)组成的整体,就叫集群

K8s 能帮你做什么?

自动扩缩容:流量高峰自动加容器,低谷自动减。省的钱可能就是几万块服务器费用。

自我修复:容器崩了自动重启,节点坏了自动把容器搬到其他节点。你基本不用半夜爬起来救火。

滚动更新:新版本上线时,一个一个替换旧版本,永远有服务在跑,用户无感知。

负载均衡:流量自动分配到多个Pod,不会让某一台服务器累死。

声明式配置:你告诉K8s"我要什么状态",它负责让它变成那样。不用手动一步一步操作。

简单理解 K8s 的工作流程

  1. 你写一个YAML文件,描述"我要3个Nginx容器,每个占512MB内存"
  2. 把文件提交给K8s(kubectl apply -f nginx.yaml
  3. K8s的Master节点收到请求,查找有空位的Node
  4. 在合适的Node上创建Pod,启动容器
  5. 创建Service,把外部流量引导到这些Pod
  6. 定期检查状态——如果某个Pod挂了,自动重建

整个过程你只需要写配置文件,剩下的交给K8s。

K8s 和 Docker 是什么关系?

Docker负责打包和运行容器,K8s负责调度和管理容器。

两者不冲突,配合使用效果最好。就像Docker是砖头,K8s是施工队——砖头再好,没有施工队也盖不起高楼。

2026年的开发标准流程:用Docker打包应用,用K8s部署运行。

想快速上手吗?

本地学习K8s不需要买服务器。用 MinikubeKind 在你的电脑上跑一个单节点集群,几分钟就能体验。

生产环境的话,国内各大云厂商都提供托管版K8s(阿里云ACK、腾讯云TKE、华为云CCE),不用自己维护Master节点,开箱即用。

Navbox 上也有 Kubernetes 配置生成工具,可以辅助生成常用的YAML配置文件。

一句话总结

Kubernetes是容器时代的操作系统——Docker把应用装进容器,Kubernetes帮你管理这些容器集群,自动搞定扩缩容、故障恢复和流量分发。

学会了它,你就从"运维一个人"变成了"管理系统本身"。