视频加载失败

K8S学习记录

844 字
4 分钟
K8S学习记录

简介#

Kubernetes(k8s)的工作原理是:
你向集群声明应用的期望状态(如部署几个副本、使用什么镜像),控制平面(Control Plane)中的 API Server 接收请求,Scheduler 负责将 Pod 调度到合适的工作节点,Controller Manager 持续监控实际状态并与期望状态比对,若发现偏差则自动调谐(如节点宕机后重新调度 Pod),各 Node 上的 Kubelet 负责执行指令并管理本节点的 Pod 生命周期,从而实现一个自愈、可弹性伸缩的容器编排系统。

大规模部署分布式应用的平台 管理一系列的主机或者服务器:node 节点 每个节点运行若干个pod:pod:可部署的最小执行单元 由中心计算机进行管理:control plane 控制平面

如果容器过多,docker-compose管控还是不够,就需要引入k8s,所以k8s就是容器的调度中心

传统部署的缺点#

  1. 应用挂了无法自动重启
  2. 访问量突增时无法快速扩容
  3. 多台服务器部署复杂,环境不一致
  4. 迁移。升级应用麻烦,容易出错
  5. 资源利用效率低,服务器浪费严重

k8s解决了什么核心问题?#

  1. 自动故障恢复
    应用崩溃,服务器宕机,k8s会自动在其他节点重启容器
  2. 自动缩扩容
    根据访问压力,自动增加 / 减少实例数量,不用人工干预
  3. 统一调度管理
    多台服务器统一管理,就像管理一台机器一样方便
  4. 服务自愈与高可用
    自动检测健康状态,不健康就杀掉重建,保障服务稳定
  5. 环境一致性
    基于容器进行的开发,测试、生产环境完全一致
  6. 滚动更新与回滚
    升级应用不停机,出问题一键回滚,安全可靠

基础组件#

k8s 核心组件:Pod / Service / Deployment

Pod#

核心定义:
k8s中最小的部署和调度单元不是容器本身,而是容器的”包装”—一个pod里面可以放1个或者多个容器(通常只放一个),这些容器共享同一网络、存储资源
要点:

  • k8s不会直接调度容器,只会调度pod(所有容器必须在pod里面才会被k8s调度)
  • pod里面的容器“同生共死”,一个容器崩溃异常,k8s会直接重建整个pod
  • 每个pod有独立的ip地址,仅在k8s集群内部可用,外部无法直接访问

Service Pod的固定访问入口#

核心定义:
解决Pod地址不固定的问题,为一个或多个的Pod提供固定的调用地址
要点:

  • Service不运行应用,只转发请求
  • Service地址固定,不擅长不变化

Deployment Pod的控制器#

核心定义:
管理Pod的控制器,负责Pod的创建、更新、扩容、回滚 要点:

  • Deployment不直接运行应用,只负责管理Pod,定义好Pod的数量、版本,Deployment会自动维持这个状态
  • 支持滚动更新,升级应用时,不停止旧Pod,先启动新Pod,再删除旧Pod
  • 支持回滚,可一键回滚到上一个版本

k8s基本命令#

基础格式#

官方文档
https://kubernetes.io/docs/reference/kubectl/

kubectl [命令][类型][名称][选项]

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

K8S学习记录
http://blog.cnylxs.xyz/posts/study-01-K8S/
作者
ylxs
发布于
2026-08-10
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
ylxs
I'm ylxs.
公告
ylxs的个人博客
分类
标签
最新动态
站点统计
文章
14
分类
2
标签
12
总字数
34,324
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
ylxs v1.0.0
文章许可
CC BY-NC-SA 4.0