✔ 总体路线图(先建立认知)
Linux/KVM基础
↓
libvirt(虚拟化管理层)
↓
Vagrant(自动化 VM 编排)
↓
k3s(三节点 Kubernetes)
↓
K8s 核心机制学习
✔ Phase 0:准备环境(1 次性)
目标:把虚拟化能力打通
安装 libvirt + KVM
sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
加入用户组:
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
验证:
安装 Vagrant + libvirt plugin
安装 provider:
vagrant plugin install vagrant-libvirt
✔ Phase 1:理解 libvirt(不深入,只要够用)
目标:知道 VM 是怎么被管理的
你需要理解 4 个概念:
- domain(虚拟机)
- network(虚拟网络)
- storage pool(磁盘)
- bridge(桥接网络)
基础命令
virsh list --all
virsh net-list
virsh dominfo vm1
学习重点(非常重要)
你只需要理解:
libvirt = 管 VM 生命周期 + 网络 + 磁盘
不用深入源码级理解。
✔ Phase 2:Vagrant(核心自动化层)
目标:用代码生成 3 个 VM
安装验证
vagrant --version
vagrant plugin list
确认有:
学习 Vagrant 4 个核心概念
- box(基础镜像)
- provider(libvirt)
- Vagrantfile(配置)
- provision(自动安装脚本)
第一个 VM
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/jammy64"
config.vm.define "node1" do |node|
node.vm.hostname = "node1"
node.vm.network "private_network", ip: "192.168.56.10"
end
end
运行:
✔ Phase 3:搭建 3 节点 VM 集群(关键阶段)
目标:得到 3 台可 SSH 的机器
推荐结构
node1 (server)
node2 (worker)
node3 (worker)
Vagrantfile 核心结构
(你后面可以让我帮你生成完整版本)
学习重点
你要理解:
- IP 分配
- SSH 登录
- 网络互通
- VM 生命周期
✔ Phase 4:安装 k3s(重点)
目标:真正进入 Kubernetes
1. server 节点
curl -sfL https://get.k3s.io | sh -
获取 token:
cat /var/lib/rancher/k3s/server/node-token
2. worker 节点加入
curl -sfL https://get.k3s.io | \
K3S_URL=https://node1:6443 \
K3S_TOKEN=xxx sh -
3. 验证
✔ Phase 5:K8s 基础学习(核心)
你要按顺序学:
1. Pod / Deployment
2. Service
3. Ingress
4. Scheduling(重点)
- Pod 分布在哪个节点
- NodeSelector
- taint / toleration
5. 存储
- PVC
- local-path-provisioner
✔ Phase 6:故障模拟(这是你最大收获)
你可以做:
观察:
- Pod 是否重建
- 调度变化
- service 是否正常
✔ Phase 7:进阶(可选)
当你熟悉后再做:
- Helm
- StatefulSet
- CloudNativePG
- monitoring stack
✔ 推荐学习节奏(非常重要)
Week 1
- libvirt + Vagrant
- 3 VM 跑起来
Week 2
- k3s multi-node
- Pod / Service
Week 3
Week 4
✔ 最重要的原则(避免你走偏)
❌ 不要一开始做:
- Flux
- ArgoCD
- Longhorn
- Istio
- CNPG HA
这些会让你:
变成“系统工程师”,而不是“K8s 学习者”
✔ 正确目标
理解 Kubernetes 是怎么调度和运行容器的
✔ 你这个方案的优势
相比:
这个方案是:
✔ 可控
✔ 可重复
✔ 可破坏
✔ 可重建
✔ 接近真实集群行为
source: https://chatgpt.com/c/6a2c9d5a-9f2c-83ec-8708-86a8cced27ba
✔ 总体路线图(先建立认知)
✔ Phase 0:准备环境(1 次性)
目标:把虚拟化能力打通
安装 libvirt + KVM
加入用户组:
验证:
安装 Vagrant + libvirt plugin
安装 provider:
✔ Phase 1:理解 libvirt(不深入,只要够用)
目标:知道 VM 是怎么被管理的
你需要理解 4 个概念:
基础命令
学习重点(非常重要)
你只需要理解:
不用深入源码级理解。
✔ Phase 2:Vagrant(核心自动化层)
目标:用代码生成 3 个 VM
安装验证
确认有:
学习 Vagrant 4 个核心概念
第一个 VM
运行:
✔ Phase 3:搭建 3 节点 VM 集群(关键阶段)
目标:得到 3 台可 SSH 的机器
推荐结构
Vagrantfile 核心结构
(你后面可以让我帮你生成完整版本)
学习重点
你要理解:
✔ Phase 4:安装 k3s(重点)
目标:真正进入 Kubernetes
1. server 节点
curl -sfL https://get.k3s.io | sh -获取 token:
2. worker 节点加入
curl -sfL https://get.k3s.io | \ K3S_URL=https://node1:6443 \ K3S_TOKEN=xxx sh -3. 验证
✔ Phase 5:K8s 基础学习(核心)
你要按顺序学:
1. Pod / Deployment
2. Service
3. Ingress
4. Scheduling(重点)
5. 存储
✔ Phase 6:故障模拟(这是你最大收获)
你可以做:
观察:
✔ Phase 7:进阶(可选)
当你熟悉后再做:
✔ 推荐学习节奏(非常重要)
Week 1
Week 2
Week 3
Week 4
✔ 最重要的原则(避免你走偏)
❌ 不要一开始做:
这些会让你:
✔ 正确目标
✔ 你这个方案的优势
相比:
这个方案是:
✔ 可控
✔ 可重复
✔ 可破坏
✔ 可重建
✔ 接近真实集群行为
source: https://chatgpt.com/c/6a2c9d5a-9f2c-83ec-8708-86a8cced27ba