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)观察它的运行状态。
相关推荐
炸裂狸花猫1 小时前
开源身份认证与访问管理平台 - Keycloak(一)
docker·云原生·kubernetes·开源·devops
有谁看见我的剑了?1 小时前
ubuntu 22.04 /etc/fstab 文件修改有误导致无法进入系统处理
linux·运维·ubuntu
月昤昽1 小时前
ArchLinux更新遇到的GPG签名验证问题
linux·bash·archlinux
L1624761 小时前
临时拉高 CPU 利用率(防缩容)操作全总结(linux和windows系统)
linux·运维·windows
Gofarlic_OMS1 小时前
UG/NX许可证管理高频技术问题解答汇编
java·大数据·运维·服务器·汇编·人工智能
小松加哲1 小时前
服务器LVM磁盘内部空闲空间无损扩容+挂载原理+MySQL Binlog自动清理完整实操
运维·mysql·服务器扩容
咸鱼梦想家π2 小时前
Linux开发工具(中)
linux·运维·服务器
网络安全许木2 小时前
自学渗透测试第29天(Linux SUID/SGID基础实验)
linux·运维·服务器·web安全·渗透测试
JiaWen技术圈2 小时前
conntrack-tools 用法
linux·运维·服务器·安全·运维开发