Linux个人心得29(k8s的一些个人理解)

k8s并不是单点技术,而是把把Linux、网络、容器、调度、负载均衡、配置、存储、发布、监控都揉在一起了。

基础设施与地基(Linux、容器)

  • Linux :相当于餐厅的地基和物理空间。K8s 集群里的每一台服务器(无论是 Master 还是 Node 节点)都必须运行在 Linux 操作系统之上。K8s 会调用 Linux 的内核特性(如 Cgroups 限制资源、Namespace 做隔离)来干活。
  • 容器(Container) :相当于餐厅里的标准化餐盒。你的应用(比如 Nginx、MySQL)被打包进 Docker 容器里。不管餐盒里装的是川菜还是粤菜,对餐厅来说,它们都是统一规格的盒子,方便搬运和摆放。

交通与指挥系统(网络、调度、负载均衡)

  • 网络(Network) :相当于餐厅里的走廊和传菜通道。K8s 要求集群里的每一个"餐盒"(Pod)都有一个独立的 IP 地址,并且互相能 ping 通。通过 CNI 网络插件(如 Calico),K8s 打通了跨服务器的容器通信,让数据能顺畅流动。
  • 调度(Scheduling) :相当于餐厅的大堂经理。当你说"我要上 5 份牛排(启动 5 个 Pod)"时,调度器(Scheduler)会自动观察哪张桌子(Node 节点)还有空位、资源够不够,然后自动把这 5 份牛排安排到最合适的桌子上,完全不需要你手动去搬。
  • 负载均衡(Load Balancing) :相当于餐厅的迎宾/传菜员。当外面有大量顾客(用户请求)涌入时,K8s 的 Service 组件会自动把请求均匀地分发给后面那 5 份牛排(Pod 副本),防止某一份牛排被"累死",而其他牛排却闲着。

运营与保障(配置、存储、发布、监控)

  • 配置(Config) :相当于餐厅的菜单和配方表。K8s 通过 ConfigMap 和 Secret,把应用的配置文件(比如数据库密码、Nginx 配置)和程序代码解耦。想换口味(改配置)时,不用重新做菜(重新打包镜像),直接换张配方表就行。
  • 存储(Storage) :相当于餐厅的中央大冰箱。容器有个特点:重启后里面的数据就没了。通过 PV 和 PVC,K8s 给需要持久化数据的应用(比如 MySQL)挂载了外部存储。就算餐盒(容器)被扔了,冰箱(存储卷)里的食材(数据)依然还在。
  • 发布(Release/Deployment) :相当于餐厅的菜品更新换代。K8s 的 Deployment 支持"滚动更新"。比如要把牛排升级为黑椒牛排,K8s 会先上一份新的,撤下一份旧的,一步步平滑替换。顾客完全感觉不到餐厅在换菜单,而且一旦发现新菜有问题,还能一键"秒退"回旧版本。
  • 监控(Monitoring) :相当于餐厅的监控摄像头和健康巡检员。通过 Metrics Server、Prometheus 等工具,K8s 实时盯着每个餐盒的健康状况(存活探针)和餐厅的繁忙程度(CPU/内存)。一旦发现某份牛排坏了(Pod 崩溃),它会立刻自动扔掉并重新做一份新的(自我修复);如果顾客爆满,它还能自动触发扩容(HPA),多加几张桌子。

如何把这套"超级餐厅"实操落地?

如果你想亲手把这 9 大技术揉在一起跑起来,建议按照下面这条从 0 到 1 的实操主线去推进:

  1. 准备地基(Linux + 网络):准备 3 台 Linux 虚拟机(1 台 Master,2 台 Node),配置好静态 IP,关闭防火墙和 Swap,打通彼此的网络。
  2. 安装引擎(容器):在所有机器上安装 Docker 或 containerd 容器运行时。
  3. 搭建指挥中心(调度) :使用 kubeadm 初始化 Master 节点,把 K8s 的大脑(API Server, Scheduler, Controller)跑起来。
  4. 扩容团队(调度) :把 2 台 Node 节点通过 kubeadm join 加入集群,让调度器有地方安排工作。
  5. 铺设管道(网络):安装 CNI 网络插件(如 Calico),让集群里的 Pod 能够互相通信。
  6. 实战演练(揉合所有技术)
    • 写一个包含 配置 (ConfigMap)、存储 (PVC)、容器(你的 Nginx/MariaDB 镜像)的 YAML 文件。
    • 通过 发布(Deployment)把它跑起来。
    • 通过 负载均衡(Service)把它暴露出去。
    • 最后通过 监控(kubectl top 或 Dashboard)观察它的运行状态。
相关推荐
小鹏linux5 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
在角落发呆6 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇6 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
裴东青7 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
江公望7 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦7 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn8 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫8 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain8 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x8 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复