Kubernetes(K8s)零基础入门:一篇带你搞懂核心概念

📅 2026/7/18 3:21:27 👁️ 阅读次数 📝 编程学习
Kubernetes(K8s)零基础入门:一篇带你搞懂核心概念

Kubernetes(K8s)零基础入门:一篇带你搞懂核心概念

本文适合完全零基础的小白,用最通俗的语言带你理解K8s是什么、能做什么、怎么上手。

一、为什么要学K8s?

如果你已经用过Docker,体验过“一次构建,到处运行”的便利,那么接下来你一定会遇到这些问题:

  • 容器太多了管不过来:一个微服务项目可能有成百上千个容器,靠手写脚本根本hold不住;

  • 容器挂了没人管:某个容器故障宕机了,谁来让它自动恢复?

  • 服务之间找不到彼此:容器的IP地址是动态变化的,服务之间如何稳定通信?

Kubernetes(简称K8s)就是来解决这些问题的。它是一个开源的容器编排平台,由Google设计并开源,现由云原生计算基金会(CNCF)维护。简单说,K8s能帮你自动化地部署、扩展和管理容器化应用。

💡K8s为什么叫K8s?“Kubernetes”这个词太长,人们取首字母K和尾字母s,中间8个字母,所以简称K8s。

K8s的核心思想是“声明式配置”:你只需要告诉它“我想要什么”(比如“我要3个Nginx服务一直运行”),K8s就会自动帮你实现,并且持续监控,确保实际状态和你的期望一致。

二、五分钟搞懂K8s核心概念

K8s里有很多新名词,但初学者只需要先搞懂下面这几个:

🏗️ 集群(Cluster)

K8s管理的整体就是一个集群,它由两类“角色”组成:

  • 控制平面(Control Plane / Master节点):集群的“大脑”,负责接收指令、调度任务、维护集群状态;

  • 工作节点(Worker Node):干活的“身体”,每个节点(物理机或虚拟机)负责实际运行容器应用。

📦 Pod——最小的部署单元

Pod是K8s中最小、最基本的部署单元。你可以把它理解为一个“逻辑主机”,里面可以运行一个或多个紧密关联的容器(比如一个应用容器+一个日志收集容器),它们共享网络和存储。

⚠️ 注意:K8s不直接管理容器,而是管理Pod。

🎯 Deployment——管理Pod的“管家”

Deployment是你最常用的控制器之一。它定义了Pod的期望状态,比如“始终运行3个Nginx副本”。如果某个Pod挂了,Deployment会自动创建一个新的来替换——这就是自愈能力

🌐 Service——稳定的“门牌号”

Pod有个“致命缺点”:IP地址是临时的——Pod一旦重启,IP就变了。Service就是来解决这个问题的:它为动态变化的Pod提供一个固定的访问入口,并自动把请求负载均衡到后端的Pod上。

💡 把这四个概念串起来就是:集群里有节点,节点上运行Pod,Pod里跑容器;Deployment负责管理Pod的数量和更新;Service给Pod提供稳定的访问入口。

三、动手:三分钟部署你的第一个应用

理论讲完,我们来实际操作一下。推荐使用Minikube在本地快速创建一个单节点的K8s集群,它是专为学习和开发设计的轻量级工具。

第一步:安装并启动集群(以Linux为例)

bash

# 安装kubectl(与K8s集群交互的命令行工具) sudo apt-get update && sudo apt-get install -y kubectl # 安装Minikube curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube # 启动集群 minikube start

第二步:部署一个Nginx应用

bash

# 创建一个Deployment,运行1个Nginx Pod kubectl create deployment nginx-deploy --image=nginx # 查看Pod状态 kubectl get pods

第三步:暴露服务,让外部能访问

bash

# 创建一个Service,将Nginx服务暴露出来 kubectl expose deployment nginx-deploy --type=NodePort --port=80 # 查看Service信息 kubectl get svc

看到Pod状态为Running,就说明你的第一个K8s应用已经部署成功了!

四、给小白的学习建议

  1. 先学Docker再学K8s:K8s是管理容器的,如果不了解容器是什么,直接学K8s会很吃力。

  2. 本地环境用Minikube:不需要买云服务器,在自己电脑上就能搭建学习环境。

  3. 从基本命令入手:先熟练使用kubectl get podskubectl describekubectl logs这几个常用命令。

  4. 理解YAML配置文件:K8s的资源都是通过YAML文件定义的,看懂并会写简单的YAML是必备技能。

  5. 多做实验:试着修改副本数、模拟Pod故障看看自动恢复、尝试滚动更新——动手实践是最好的学习方式。

写在最后

K8s听起来很复杂,但核心逻辑其实很简单:你声明期望状态,K8s负责实现并维持这个状态。掌握了Pod、Deployment、Service这三个核心概念,你就已经敲开了K8s的大门。剩下的,就是在实践中慢慢积累了。

📚延伸阅读:Kubernetes官方文档、B站搜索“K8s入门教程”有大量免费视频资源