🍃Kubernetes(k8s)核心概念一览

前言

👋你好啊,我是你的人类朋友!

今天说说k8s!

看完之后你会认识k8s中最常用的概念

比较重要的如podnode之类的

要烂熟于心!!!

废话不说了!

发车!!!


1. Kubernetes 解决什么问题?

假设你开发了一个能处理高并发 的网站,需要部署到10台服务器上。

这时候就有朋友问了,为啥要部署到10台服务器上?

立即回答:因为单台服务器有性能上限,10台服务器可以分担流量压力(比如每秒10万请求拆成10台,每台只处理1万),同时避免单点故障(一台挂了,剩下9台还能继续服务)。

如果手动管理会面临:

  • 服务器宕机:某台挂了如何自动重启服务?可能机器冒烟了,而你在睡梦中。
  • 流量波动:突然访问量暴增,如何快速扩容??服务器被刷爆了,你在王者峡谷乱杀。
  • 版本更新:如何让新版本【无缝】替换旧版本,且出错能回退?

Kubernetes 其实就是帮你自动化管理这些问题的系统的一个工具,不用害怕它


2. 核心概念【重点中的重点】

建议全文背诵

(1) 调度层:控制中心(Control Plane)

  • 作用:决定你的程序应该跑在哪台服务器上,并持续监控状态。
  • 关键组件
    • API Server:唯一入口(比如你通过命令行操作k8s,实际上就是在和它对话)。
    • Scheduler :用来调度的,会根据服务器资源情况去分配任务。简单说 Scheduler 其实就是个「派活的人」------你提交一个程序(比如一个网站后台),它负责决定把这个程序塞到哪台空闲的服务器上运行。(它挑服务器的标准很简单:看哪台机器内存够、CPU 不忙)
    • Controller Manager:确保系统始终处于你期望的状态(比如你要求运行3个实例,崩了一个它就自动补上)。

(2) 执行层:工作节点(Node)

  • 每个Node 是一台物理机或虚拟机,真正运行程序的地方。不是Nodejs,是Node,平平无奇的撞名罢了。
  • 核心部件
    • kubelet:Node的「监工」,负责和管理中心通信,按指令启停容器。
    • kube-proxy:【注:proxy就是代理的意思】处理网络流量(比如把外部请求转发到正确的程序)。

(3) 应用定义相关

  • Pod 【重要】:最小的部署单元,包含1个【建议一个就可以了,做好解耦!!】或多个紧密关联的容器(比如你的网站程序+日志收集器)。
  • Deployment :定义Pod的「理想状态」 (比如:始终保持5个副本运行,用v2镜像版本)。
  • Service :给一组Pod提供固定访问入口(比如外部用户通过一个IP访问,背后可能轮询多个Pod)。

3. 声明式管理

  • 传统方式:手动敲命令启动容器【正是在下】
  • Kubernetes方式 :你提交一个「需求清单」(比如YAML文件),系统自动达成并维持这个状态。

例子

如果你声明「需要3个实例运行nginx:1.20」,Kubernetes会:

  1. 检查当前是否有3个实例。
  2. 不够就创建,多了就删除。
  3. 持续监控,如果某个实例崩溃,立刻补一个新实例。

5. 啥时候用K8s?

  • 你的应用需要高可用

高可用是什么: 即:系统挂了能自动快速恢复,让用户几乎感觉不到故障

  • 需要频繁扩缩容(比如电商大促时临时扩容)。

总结:

Kubernetes 的核心是通过「定义目标状态 + 自动调度」来管理分布式应用【就是一个项目部署到多个服务器的应用】

你只需要告诉它想要什么 ,而不是具体怎么做

最后

对了,如果你看完之后啥也没记住,请记住下面这句话

Pod最小的部署单元,包含1个或多个紧密关联的容器(比如你的网站程序+日志收集器)

👋

相关推荐
葡萄城技术团队27 分钟前
【性能优化篇】面对万行数据也不卡顿?揭秘协同服务器的“片段机制 (Fragments)”
前端
用户685453759776929 分钟前
同步成本换并行度:多线程、协程、分片、MapReduce 怎么选才不踩坑
后端
javaTodo36 分钟前
Claude Code 记忆机制详解:从 CLAUDE.md 到 Auto Memory,六层体系全拆解
后端
程序员阿峰38 分钟前
2026前端必备:TensorFlow.js,浏览器里的AI引擎,不写Python也能玩转智能
前端
Jans39 分钟前
Shipfe — Rust 写的前端静态部署工具:一条命令上线 + 零停机 + 可回滚 + 自动清理
前端
徐小夕39 分钟前
JitWord 2.3: 墨定,行远
前端·vue.js·github
南果梨1 小时前
OpenClaw 完整教程!从安装到使用(官方脚本版)
前端·git·开源
大雨还洅下1 小时前
前端手写: new操作符
前端
LSTM971 小时前
使用 C# 和 Spire.PDF 从 HTML 模板生成 PDF 的实用指南
后端
JaguarJack1 小时前
为什么 PHP 闭包要加 static?
后端·php·服务端