使用 IBM Cloud Satellite 配置将 Kubernetes 资源部署到多个集群
在本教程中,您将学习如何使用 IBM Cloud® Continuous Delivery 创建开放式工具链,以及如何使用 IBM Cloud Satellite 部署应用程序 (应用程序)。 您还将了解如何在 Continuous Delivery 服务中实现工具链,以及如何使用仅 Continuous Delivery工具链模板来部署简单 Web 应用程序。
IBM Cloud Satellite 将公共云服务引入任何环境,使具有严格法规要求的客户能够将这些服务的灵活性和敏捷性用于其安全的内部部署数据中心。Continuous Delivery 使用 Satellite 配置 在 IBM Cloud Satellite中的一组集群中部署应用程序。 使用 Satellite Config,创建配置以指定要部署到在 Satellite 位置或 IBM Cloud中运行的 Kubernetes 或 Red Hat® OpenShift® 集群的集群组的 Kubernetes 资源。
本教程中使用的工具链围绕持续交付功能实施标准 DevOps 实践。 在确保满足所有持续集成需求之后,此工具链可帮助您管理 IBM Cloud Satellite 位置中的部署。 创建集群并将其与 Satellite 集群组关联后,可以创建工具链以更改部署源代码并将更改推送到 GitHub 存储库。 将更改推送到存储库时,基于 Tekton 的交付管道会自动部署代码。
Tekton 是一个与供应商无关的开放式源代码 Kubernetes本机框架,可用于构建,测试和部署应用程序。 Tekton 提供了一组用于实现持续交付系统的共享组件。 作为开放式源代码项目,Tekton 由 Continuous Delivery Foundation管理。 目标是通过为管道,工作流程和其他构建块提供行业规范,实现持续交付现代化。 借助 Tekton,您可以通过抽象底层实现详细信息,在云提供者或本地系统之间进行构建,测试和部署。 Tekton 管道内置到 Continuous Delivery中。
本教程中使用的模板与 Red Hat OpenShift的标准套餐配合使用。
准备工作
在开始本教程之前,请确保您具有以下资源:
-
IBM Cloud 帐户。 根据您的 IBM Cloud 账户类型,访问某些资源可能会受到限制。 根据您的帐户计划限制,某些部署策略所需的某些功能可能不可用。 有关 IBM Cloud 帐户的更多信息,请参阅 设置 IBM Cloud 帐户 和 升级帐户。
-
Satellite 集群组,其中包含工具链所需的集群。 本教程中的工具链支持仅包含 Red Hat OpenShift 集群的 Satellite 集群组。
-
映像提取私钥。 确保配置在集群名称空间中部署应用程序映像所需的 映像拉取私钥。
-
Continuous Delivery 服务的实例。
-
可选。 存储在私钥管理保险库文件中并从单个位置集中管理的私钥。 有关从各种私钥管理和数据保护产品中进行选择的更多信息,请参阅 管理 IBM Cloud 私钥。 如果您还没有所选私钥管理保险库提供程序的实例,请创建一个。
-
可选。 使用容器注册表命令行创建的名称空间。 要创建名称空间,请从命令行输入以下命令:
ibmcloud cr namespace-add <my namespace>
或者,您可以在 Container Registry 页面上创建名称空间。 有关在此位置创建命名空间的更多信息,请参阅 IBM Cloud Container Registry 服务。
创建工具链
在此步骤中,您将创建 将应用程序部署到多个集群 工具链。 在工具链设置期间,将使用 IBM Cloud API 密钥和 Kubernetes 集群名称来配置目标 Kubernetes 集群。 稍后可以通过更新 Delivery Pipeline 配置来更改这些设置。 合并到目标 Git 存储库分支中的任何代码都将自动构建,验证并部署到 Kubernetes 集群中。
要创建 将应用程序部署到多个集群 工具链,请单击
或者,从IBM Cloud控制台,单击菜单图标>平台自动化>工具链。 在“工具链”页面,单击“创建工具链”。 在创建工具链页面,单击将应用程序部署到多个群集。
查看“欢迎”页面
在开始设置工具链之前,请查看先决条件以发现必须首先供应和配置哪些项。 在“描述”部分中,您可以访问工具链的概述。

查看所有这些信息后,单击 启动。
配置工具链名称和区域
-
复查工具链设置的缺省信息。 工具链的名称在 IBM Cloud 中起到标识符的作用。 确保工具链的名称在工具链中对于 IBM Cloud中的相同区域和资源组是唯一的。
工具链区域可能与集群和注册表区域不同。
工具链名称和 -
要继续执行下一步以配置工具链,请单击 继续。 要使用当前设置创建工具链,请单击 创建工具链。
配置部署源存储库
部署源存储库包含部署应用程序所需的所有部署源代码。
-
在“源存储库”步骤中,将显示部署源存储库的缺省选项。 要查看底层源提供者的所有可用选项,请单击 切换到高级配置。 缺省情况下,工具链使用将样本部署克隆为 IBM托管的 Git Repos and Issue Tracking 存储库的样本。
部署 -
指定要使用的部署源代码 repo 的名称。 存储库的区域仍与工具链的区域相同。
工具链模板提供了 IBM Cloud Satellite 配置样本应用程序。 要为工具链链接现有的部署源代码库,请点击切换到高级配置,并指定该代码库的 URL。 该工具链仅支持链接到现有的 Git Repos and Issue Tracking 存储库。
缺省情况下,会将部署源存储库模板克隆到 Git Repos and Issue Tracking 组织。 要更改组织,请单击 切换到高级配置 并指定存储库所有者。
配置 Delivery Pipeline 名称
Continuous Delivery 服务使用支持 Tekton 的 交付管道。
Delivery Pipeline 自动执行项目的持续部署。 在项目流水线中,各个阶段的序列会检索输入并运行工作,如构建、测试和部署。 Tekton 资源是在代码存储库中管理的 YAML 文件中定义的。
该工具链会创建 Delivery Pipeline,以持续将应用程序部署到 IBM Cloud Satellite 集群组中的多个集群。 您必须指定 Delivery Pipeline 的名称,该名称将在创建工具链后显示在该工具链中。

安全地存储私钥
此工具链中的多个工具需要私钥,例如 IBM Cloud API 密钥。 必须将所有私钥安全地存储在私钥保险库中,并根据工具链的要求进行引用。
通过使用 IBM Cloud,您可以从各种私钥管理和数据保护产品中进行选择,以帮助您保护敏感数据并集中私钥。 在“私钥”步骤中,可以指定要在工具链中添加或除去的私钥保险库集成。 有关添加和除去保险库文件集成的更多信息 (包括先决条件和使用提示),请参阅 管理 IBM Cloud 私钥。
通过在模板中使用提示,将使用预先配置的私钥自动填充工具链; 您无需从附加到工具链的保险库文件集成中手动选择私钥。
本教程使用 IBM Secrets Manager 作为私钥保险库。

IBM Secrets Manager 可安全地存储和应用属于工具链的私钥,例如 API 密钥,图像签名或 HashiCorp 凭证。

有关在 IBM Key Protect 或 HashiCorp, 中管理机密的更多信息,请参阅 机密。
更新 Satellite 配置设置
IBM Cloud Satellite 配置工具将部署配置交付到指定的集群组。 源存储库的目录路径标识要部署到所提供集群组的文件。
配置目标 Red Hat OpenShift 集群以将应用程序部署到
如果 API 密钥具有必需的访问权,那么将使用创建的 API 密钥,从保险库文件中检索的 API 密钥或手动指定的 API 密钥自动装入以下字段。 如果 API 密钥有效,那么将自动填充分支名称和集群组的值。 您可以更新其中任何字段以与您的配置相匹配。
-
IBM Cloud API 密钥: 用于在多个任务中与
ibmcloud
CLI 工具进行交互的 API 密钥。 使用下列其中一种方法来指定要使用的 API 密钥:- 单击密钥图标以从您选择的私钥保险库导入现有 API 密钥。
- 复制并粘贴现有 API 密钥。
- 单击 新建 以创建 API 密钥。
- 如果您没有现有 API 密钥,请生成新的
api-key
。
您可以立即将生成的 API 密钥保存到您选择的现有密钥保险库。
-
集群名称空间: 指定要将应用程序部署到的 集群名称空间 的名称。
-
分支: 指定源存储库的 Git 分支。
-
路径: 指定源存储库的目录路径。
-
集群组: 选择要在其中部署应用程序的 IBM Cloud Satellite 集群组。
-
配置名称: 指定 Satellite 配置的名称。 此名称用于创建 Satellite 配置版本,这些版本用于创建 Satellite 预订。

单击继续。
完成工具链设置
在“摘要”页面上,单击 创建工具链。 此时将自动运行数个步骤,以设置工具链。
您可以在创建管道后配置更多工具链集成。

探索新的工具链
创建工具链后,将显示您在设置期间指定的每个工具集成。

浏览 Delivery Pipeline
您可以浏览 Delivery Pipeline 以了解工具链流以及在管道中运行的不同操作。 管道将构建工件部署到部署环境。 管道还通过运行运行状况检查来验证应用程序的成功部署。
您可以通过以下任一方式启动交付管道:
- 手动触发交付管道。
- 将落实推送到部署源存储库。
使用手动触发器运行管道
-
在“工具链的概述”页面上,单击要运行的 Delivery Pipeline。
-
单击 运行管道 图标,然后选择
manual-run
触发器。交货管道 -
请查看触发器属性以确保它们与您的配置相匹配。
-
单击运行。
管道
验证样本应用程序是否正在运行
在设置工具链并且 Delivery Pipeline 成功完成后,运行以下步骤以检查应用程序:
- 从 集群 主页,单击用于部署应用程序的 Red Hat OpenShift 集群。
- 单击 OpenShift 网络控制台。
- 在 工作负载 > Pod 部分中,按项目或集群名称空间进行过滤,并验证 pod 是否正在运行。
- 在网络 > 路由部分,按项目或集群命名空间进行过滤,然后找到应用程序 URL。
- 验证应用程序是否正在运行。
寻求帮助?
IBM Cloud 的AI助手,由 IBM 的 watsonx 提供支持,旨在帮助您了解如何在 IBM Cloud 中工作,以及如何使用可用产品和服务目录构建解决方案。 请参阅 “从人工智能助手获取帮助”。
有关更多支持选项,请参阅 获取 Continuous Delivery 的帮助和支持。