为依赖项缓存设置 CI 节点

通常情况下,构建应用程序的过程中需要拉取不同的依赖项。这可能会导致某些问题,例如拉取时间长和网络不稳定,这会进一步导致构建失败。要为您的流水线提供更可靠和稳定的环境,您可以配置一个节点或一组节点,专门用于持续集成 (CI)。这些 CI 节点可以通过使用缓存来加快构建过程。

本教程演示如何设置 CI 节点,以便 KubeSphere 将流水线的任务以及 S2I/B2I 构建的任务调度到这些节点。

准备工作

您需要一个具有集群管理权限的帐户。例如,您可以直接以 admin 身份登录控制台或者创建一个具有该权限的新角色并将该新角色其分配给一个帐户。

标记 CI 节点

  1. 点击左上角的平台管理,然后选择集群管理

    集群管理

  2. 如果您已经启用多集群功能并已导入 Member 集群,那么您可以选择一个特定集群以查看其节点。如果尚未启用该功能,请直接参考下一步。

  3. 转到节点管理下的集群节点,您可以在其中查看当前集群中的现有节点。

    节点管理

  4. 从列表中选择一个节点用来运行 CI 任务。例如,在此处选择 node02,点击它以转到其详情页面。点击更多操作,然后选择编辑标签

    选择 CI 节点

  5. 在弹出对话框中,点击 Add 标签。使用键 node-role.kubernetes.io/worker 和值 ci 添加新标签,然后点击保存

    添加 CI 标签

    备注

    节点可能已经有空值的键,这种情况下您可以直接补充值 ci

给 CI 节点添加污点

流水线和 S2I/B2I 工作流基本上会根据节点亲和性调度到该节点。如果要将节点专用于 CI 任务,即不允许将其他工作负载调度到该节点,您可以在该节点上添加污点

  1. 点击更多操作,然后选择污点管理

    选择污点管理

  2. 点击添加污点,然后输入键 node.kubernetes.io/ci 而不指定值。您可以根据需要选择 不允许调度 (NoSchedule)尽量不调度 (PreferNoSchedule)

    添加污点

  3. 点击保存。KubeSphere 将根据您设置的污点调度任务。您现在可以回到 DevOps 流水线上进行操作。

    污点已添加

    提示

    本教程还涉及与节点管理有关的操作。有关详细信息,请参见节点管理