受支持的项目 (名称空间) 配置
在 IBM Cloud Pak for Data 4.6 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 更多信息,请参阅 IBM Software Hub 版本 5.1 文档中的升级 IBM Software Hub。
必须在集群上创建的项目 (名称空间) 取决于多个因素。 查看以下信息以确定必须创建哪些项目。
安全性注意事项
IBM Cloud Pak for Data 运算符是指定 InstallModeType: ownNamespace的 运算符组 的一部分。
缺省情况下,这意味着操作程序只能管理与操作程序部署在同一名称空间中的软件。 但是, IBM
Cloud Pak foundational services 会部署名为 IBM NamespaceScope Operator的特殊操作程序。
IBM NamespaceScope Operator 使 IBM
Cloud Pak foundational services 操作程序和 IBM Cloud Pak for Data 操作程序能够通过将操作程序的特权扩展至其他项目来管理在其他项目中安装和运行的软件。
IBM NamespaceScope Operator 具有 集群许可权 ,因此可以自动完成角色绑定投影。 但是,您可以选择从 IBM NamespaceScope
Operator 中除去集群许可权,并手动授权投影。 有关详细信息,请参阅 IBM
Cloud Pak foundational services 文档中的授权基础服务对命名空间中的工作负载执行操作。您有两个用于安装 IBM Cloud Pak for Data 操作程序的选项:
| 选项 | 此安装选项的安全注意事项 |
|---|---|
| 在与 IBM
Cloud Pak foundational services 操作程序相同的项目中安装 IBM Cloud Pak for Data 操作程序。 此安装称为 快速安装。 在快速安装中,操作程序安装在 |
快速安装不会在由操作程序管理的 Red Hat®
OpenShift® 项目 (名称空间) 之间实施严格的 区分 。 IBM Cloud Pak foundational services 操作程序和 IBM Cloud Pak for Data 操作程序都监视安装了 IBM® Cloud Paks 的任何项目。 这意味着将所有操作程序都授予所有安装了 IBM Cloud Paks 的项目 RBAC ,即使 IBM Cloud Pak for Data 操作程序没有必要被授予对未安装 IBM Cloud Pak for Data 的项目的许可权也是如此。 如果您不打算安装其他 IBM Cloud Paks,那么这可能不重要。 |
| 将 IBM Cloud Pak for Data 操作程序安装在其自己的项目中。 此安装称为 专用安装。 在专门安装中, IBM
Cloud Pak foundational services 通常安装在 |
专用安装还有助于严格划分 Red Hat
OpenShift 项目 (名称空间):
|
选择安装方法后,请查看 多租户注意事项。
多租户注意事项
至少必须创建一个项目,您将在该项目中部署 IBM Cloud Pak for Data的实例。
但是,如果要在集群上安装 Cloud Pak for Data 的多个实例,那么可以创建多个项目。 为要安装的每个 Cloud Pak for Data 实例创建一个项目。
运行 cpd-cli
manage 命令时, cpd-cli 会更新 IBM NamespaceScope Operator 的相应实例,以确保操作程序可以监视要在其中安装 Cloud Pak for Data 平台和服务的项目。
绑定项目
某些服务可以安装在 绑定 到安装了 Cloud Pak for Data 平台 (控制平面) 的项目的项目中。
系留项目 中的软件或工作负载由 Cloud Pak for Data 控制平面 管理,但以其他方式与 控制平面 以及在主 Cloud Pak for Data 项目中运行的其他服务和工作负载隔离。
- 您正在运行需要访问特定服务实例的定制应用程序,但出于安全原因,您不希望该应用程序访问在 Cloud Pak for Data中运行的其他服务。
- 您正在运行需要特定计算资源或特定服务质量的工作负载。
由于系留项目在逻辑上与主 Cloud Pak for Data 项目隔离,因此系留项目可以有自己的 NetworkPolicies, SecurityContext和 ResourceQuota。
有关设置系 统项目的详情,请参阅 Red Hat OpenShift Container Platform 上的设置项目(命名空间)。
${PROJECT_CPD_INSTANCE} 项目进行拴系时, cpd-cli
manage
setup-tethered-ns 命令:- 更新
IBM NamespaceScope Operator的相应实例,以使操作程序能够监视系留项目。 - 更新
${PROJECT_CPD_INSTANCE}项目中的ZenService定制资源,以将${PROJECT_TETHERED}项目添加到tetheredNamespaces条目。这使 Cloud Pak for Data control plane 能够监视和管理系留项目中的工作负载。
许多服务仅支持给定项目中的一个服务实例。 因此,如果要创建服务的多个实例,那么必须在不同的项目中部署服务的每个实例。 您可以通过创建多个系留项目并在每个系留项目中创建一个服务实例来实现此目的。
您可以在同一系留项目中对不同服务的服务实例和工作负载进行共存,也可以在一个服务或工作负载需要更多特权时创建不同的系留项目。 您可以使用不同的系留项目为每个服务实例或工作负载提供与 最低特权原则一致所需的特权。
用于快速安装的项目
- 安装了 IBM
Cloud Pak foundational services 和 Cloud Pak for Data 操作程序的项目 (
ibm-common-services)。如果安装 scheduling service,那么它也会安装在此项目中。
- 安装了 Cloud Pak for Data 软件的项目。
- 您想要安装 Cloud Pak for Data的多个实例。
必须为要安装的每个 Cloud Pak for Data 实例创建一个项目。
- 您希望在系留项目中部署服务实例或工作负载。
上图显示了 ibm-common-services 项目中的操作程序如何管理部署项目中的软件以及与部署项目绑定的任何项目。
因为所有操作程序都在单个项目中,所以它们属于同一个操作程序组。 Cloud Pak for Data 操作程序可以在 IBM Cloud Pak foundational services 操作程序可以管理的相同项目中管理软件。
在此示例中,有 3 个部署项目 (cpd-instance-1, cpd-instance-2和 cpd-instance-3) 用于支持多租户部署。 根据访问实例的用户的需求, Cloud Pak for Data 的每个实例都具有不同的服务。 在 cpd-instance-1 项目中运行的 Cloud Pak for Data control
plane 管理在系留项目 (cpd-tethered-1) 中运行的工作负载。
除了 ibm-common-services之外,所有项目名称都是用户定义的。 如果要在其他项目中安装 IBM
Cloud Pak foundational services ,请选择专用安装。
专门安装的项目
- 安装了 IBM
Cloud Pak foundational services 操作程序的项目。
如果安装 scheduling service,那么它也会安装在此项目中。
- 安装了 Cloud Pak for Data 操作程序的项目。
- 安装了 Cloud Pak for Data 软件的项目。
- 您想要安装 Cloud Pak for Data的多个实例。
必须为要安装的每个 Cloud Pak for Data 实例创建一个项目。
- 您希望在系留项目中部署服务实例或工作负载。
上图显示了 ibm-common-services 项目和 cpd-operators 项目中的操作程序如何管理部署项目中的软件以及与部署项目绑定的任何项目。
每个操作程序项目都属于不同的操作程序组。 ibm-common-services 中的操作程序可以管理其他项目中部署的软件。 cpd-operators 项目中的操作程序只能管理指定部署项目中的软件。
在此示例中,有 3 个部署项目 (cpd-instance-1, cpd-instance-2和 cpd-instance-3) 用于支持多租户部署。 根据访问实例的用户的需求, Cloud Pak for Data 的每个实例都具有不同的服务。 在 cpd-instance-1 项目中运行的 Cloud Pak for Data control
plane 管理在系留项目 (cpd-tethered-1) 中运行的工作负载。
虽然缺省情况下使用 ibm-common-services ,但所有项目名称都是用户定义的。
最佳实践: 创建组以在多租户环境中管理项目
如果部署多个 Cloud Pak for Data 实例并使用系留项目,那么应使用组来标识与特定 Cloud Pak for Data实例相关联的项目。
- Cloud Pak for Data 的一个实例部署在名为
dev的项目中。以下项目与
dev项目绑定:apps-devdb-dev
- Cloud Pak for Data 的一个实例部署在名为
prod的项目中。以下项目与
prod项目绑定:apps-proddb-prod
您可以使用标签对项目进行分组:
- 要使用
cpdgroup=dev标记与dev部署相关联的项目,请运行以下命令:oc label namespace dev apps-dev db-dev cpdgroup=dev - 要使用
cpdgroup=prod对与prod部署相关联的项目进行分组,请运行以下命令:oc label namespace prod apps-prod db-prod cpdgroup=prod
- 要验证标签是否已应用于项目,请使用
oc describe命令。 例如,要验证应用于db-dev项目的标签,请运行:oc describe namespace db-dev - 如果需要,可以从组中除去项目。 例如,从
dev组中除去dv-dev项目oc label namespace db-dev cpdgroup-