pipeline-frameworks-k8s-02.集群与运行环境

本篇回答一个实操问题:我想学 Kubernetes / 跑 Argo,集群从哪里来? 不展开各云账号开通与计费,只建立路径选择责任划分的心智模型;控制面组件与 步骤 1~5 仍以 pipeline-frameworks-k8s-01.框架概述图 5 为准。

本系列与编号约定

  • 全系列:pipeline-frameworks-k8s-0105总览、导读图与步骤 1~5pipeline-frameworks-k8s-01.框架概述图 1~图 5 对应 Fig.1~Fig.5)。
  • 建议先读完 k8s-01 的「阅读与编号约定」与 图 5,再读本文。

系列导航

篇目 链接
上一篇 pipeline-frameworks-k8s-01.框架概述
下一篇 pipeline-frameworks-k8s-03.kubectl与日常观测

1. 「集群」在动手层面指什么

在概述篇里,集群被粗说成「一组节点 + 控制面,对外像一个资源池」。落到动手,你需要同时具备三件事:

  1. 能连上的 API 端点:通常是 https://<apiserver>:6443,你的 kubectl 或 CI 通过它提交 YAML(对应 图 5 步骤 1)。
  2. 合法身份:证书、kubeconfig 里的用户/上下文,或云厂商 IAM 与集群凭证的绑定(认证/授权在 apiserver 侧完成)。
  3. 至少一个可调度的工作节点:上面跑 kubelet,真正执行 步骤 5(拉镜像、起容器)。

「我本地没有服务器」也可以:在笔记本上起一个单节点小型集群(如 minikube、kind),它仍然是一个完整的 Kubernetes 语义环境,只是规模小、与生产网络/存储差异大。学概念、跑 Argo 入门、写 YAML 往往够用;要练性能、多可用区、真实存储类型,再换实验室或云。


2. 获得集群的常见路径(概念级)

下面三条路径不是互斥的,很多人本地一条 + 公司/云一条并行使用。

图 1 路径 A / B / C:本地 / 自建 / 托管

图 1 路径 A:本机单节点(kind、minikube 等);路径 B:自有机器上 kubeadm 等自建;路径 C:云托管控制面 + 工作节点

路径 典型场景 你主要关心什么
A:本地最小集群 学习、kubectl 练习、CI 里快速起集群测 YAML 安装简单、与笔记本资源占用;代表生产拓扑
B:自建(机房/虚拟机) 数据不出网、已有运维、要完全可控 控制面高可用、etcd 备份、升级节奏、CNI/存储选型
C:托管 Kubernetes 快速有可用集群、与云 VPC/负载均衡/磁盘集成 控制面由谁运维、节点池与版本、网络与 IAM 与集群的衔接

kindminikube 都属于路径 A,差异主要在实现:kind 多在 Docker 容器里跑节点(适合 CI);minikube 常见是 单 VM 或容器驱动 的一体化环境。对初学者,任选其一跑通「kubectl get nodes 看到 Ready」即可,不必先比较所有驱动。


3. 托管 Kubernetes:责任划到哪里为止

「托管」不等于「你什么都不管」:通常 控制面(apiserver、scheduler、etcd 等)由云厂商运维工作负载长什么样、镜像、网络策略、RBAC、存储类仍是你或平台团队的责任。

图 2 托管模式下的责任分界(示意)

图 2 托管 K8s:云侧常包控制面与高可用;用户侧仍配置工作负载、网络策略、身份与存储类等

读图时记住一句:厂商保证「Kubernetes API 可用、节点池可供应」;你保证「提交的 YAML 合理、镜像可拉、权限正确」。具体产品名称因厂商而异,本文不绑定某一控制台。


4. 与单机 Docker、与生信 / Argo 的边界

  • 单机 docker run:你直接触达本机上的容器进程;没有集群级的调度、多副本控制器、跨节点 Service。
  • 有集群之后:你向 apiserver 声明 Deployment、Job 等对象(图 5 步骤 1~3),由调度器与 kubelet 落到具体节点(步骤 4~5)。
  • Argo Workflows:在 Kubernetes 之上用 CRD 描述 DAG;底层仍是 Pod/Job。因此 Argo 文档里反复出现 kubectl、命名空间、Pod——它们不是 Argo 私有的,而是集群通用语言。

若你只想「在一台机子上跑流水线」,不一定立刻需要 K8s;但一旦团队统一用 集群上的 Argo,你就需要能连上集群、会最基本的 观测与排障(k8s-03、k8s-04)。


5. 小结

  • 集群在动手层面 = 可访问的 API + 凭证 + 可调度节点;本地单节点也是「真」集群,只是规模小。
  • 路径 A/B/C(图 1)帮助你在「笔记本 / 机房 / 云」之间做方向选择,细节留在各环境自己的安装文档。
  • 托管(图 2)减轻控制面运维,减轻你对工作负载、网络、权限、存储策略的责任。
  • 下一步:在任意一条路径上把集群跑起来后,用 k8s-03kubectl 与命名空间完成日常观测闭环。
-------------本文结束感谢您的阅读-------------