1 Master + 2 Node、Kubernetes v1.24.17、Containerd、Calico-20260730

📅 2026/7/30 20:04:15 👁️ 阅读次数 📝 编程学习
1 Master + 2 Node、Kubernetes v1.24.17、Containerd、Calico-20260730

文章目录

    • 一、先建立全局视角:K8s 组件家族与分工
      • 组件调用关系(自底向上)
    • 二、离线部署的"七步走"战略
      • 阶段 1:环境基线(所有节点都要做)
      • 阶段 2:安装 Containerd(所有节点)
      • 阶段 3:安装 kubeadm/kubelet/kubectl(所有节点)
      • 阶段 4:离线镜像预加载(**最关键的一步**)
        • 4.1 在联网机器上导出镜像
        • 4.2 在离线节点上导入镜像(**三台机器都要做**)
      • 阶段 5:kubeadm init 初始化 Master
      • 阶段 6:Node 节点加入集群
      • 阶段 7:安装 CNI 网络插件(Calico)
    • 三、步骤关联的"因果链"(重点)
    • 四、针对你当前问题的"精准药方"
    • 五、知识拓展:为什么 K8s 设计得这么"绕"?

你这个问题问得非常好——搞懂"步骤之间的关联",比背下命令更重要。因为你现在遇到的NotReady + Calico Init:1/3 卡住,本质上就是对"步骤关联"理解不透彻导致的。

下面我以1 Master + 2 Node、Kubernetes v1.24.17、Containerd、Calico这个和你环境完全一致的方案为主线,把整个离线部署的知识体系拆开讲。


一、先建立全局视角:K8s 组件家族与分工

很多人一上来就敲命令,结果出错不知道为啥。先把"家里有哪些人、各自干什么"搞清楚。

组件角色跑在哪作用(人话)
kubeadm安装工Master 初始化时用一键初始化 Master,或让 Node 加入集群
kubelet节点管家每台机器都要装盯着本机的 Pod,确保容器按要求跑起来
kubectl遥控器