受支持的项目 (名称空间) 配置
在 IBM Cloud Pak for Data 4.7 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 更多信息,请参阅 IBM Software Hub 版本 5.1 文档中的升级 IBM Software Hub。
必须在集群上创建的项目 (名称空间) 取决于多个因素。 查看以下信息以确定必须创建哪些项目。
cpd-cli 可以自动为您创建项目。 但是,如果您希望手动创建这些项目,那么安装和升级文档包含有关从 OpenShift® CLI 创建项目的指导信息。共享集群组件的项目
共享集群组件仅在集群上安装一次,并且由集群上的所有 IBM Cloud Pak for Data 实例共享。 每个组件都安装在自己的项目中,项目中不应安装其他软件。
下表提供了缺省项目名称以及用于在整个文档中的命令中标识项目的环境变量。 您无需使用缺省项目名称。 仅当安装组件时未指定项目名称时,才会使用缺省名称。
| 组件 | 缺省项目名称 | 环境变量 |
|---|---|---|
| IBM® Certificate manager | ibm-cert-manager |
${PROJECT_CERT_MANAGER} |
| License Service | ibm-licensing |
${PROJECT_CS_CONTROL} |
| Scheduling service | No default. | ${PROJECT_SCHEDULING_SERVICE} |
有关这些组件的更多信息,请参阅共享组件。
如果要升级到 IBM Cloud Pak for Data V 4.7,那么必须创建其他项目。 在升级到 V 4.7期间, IBM Certificate manager 和 License Service 会临时安装在此项目中。 该项目称为 cs-control 项目,但您可以对此项目使用任何名称。 ${PROJECT_CS_CONTROL} 环境变量引用此项目。
安装 IBM Cloud Pak for Data 实例所需的项目
至少, Cloud Pak for Data 的实例具有两个项目 (名称空间): 操作程序项目和操作数项目。
仅应在操作程序项目和操作数项目中安装指定的软件。 这些项目没有缺省名称。
- 操作程序项目
- 安装了操作程序的项目。
在安装和管理命令中,
${PROJECT_CPD_INST_OPERATORS}环境变量指的是操作程序项目。
什么是运算符?
操作程序 是定制 Kubernetes 控制器。 控制器 实现一个控制循环,该循环持续监视集群上特定对象的状态,并根据需要进行调整以确保这些对象按预期运行。
Cloud Pak for Data 的每个组件都包含一个负责管理该组件的操作程序。 例如, control plane 具有专用运算符,而每个服务都具有专用运算符。
Cloud Pak for Data 的每个实例都有自己的一组操作程序。 此项目中的所有操作程序都必须安装在同一发行版中。 例如,必须在 V 4.7.4上安装所有操作程序。
安装您计划在 操作数项目中安装的服务的操作程序。 每个操作程序都监视操作数项目中的相应操作数。
- 操作数项目
- 安装了 Cloud Pak for Data control plane 和服务的项目。
在安装和管理命令中,
${PROJECT_CPD_INST_OPERANDS}环境变量引用操作数项目。操作程序监视操作数以确保它们按预期运行。
Cloud Pak for Data 的每个实例都有自己的一组操作数。 此项目中的操作数必须与 操作程序项目中的操作程序安装在同一发行版中。
IBM Cloud Pak for Data 实例的可选项目
您可以选择将一个或多个项目 连接 到操作数项目。
只有指定的软件才应安装在系留项目中。 这些项目没有缺省名称。
- 绑定项目
- 可以在其中部署工作负载或服务实例的项目。限制: 并非所有服务都支持在系留项目中运行工作负载或服务实例。 有关详细信息,请参阅 多租户支持。系留项目由以下环境变量标识:
- 在安装和管理命令中,
${PROJECT_CPD_INSTANCE_TETHERED}是指与 Cloud Pak for Data实例关联的单个系留项目。 - 在安装和管理命令中,
${PROJECT_CPD_INSTANCE_TETHERED_LIST}环境变量是指与 Cloud Pak for Data实例相关联的系留项目的列表。
Cloud Pak for Data control plane 管理系留项目中的软件。 但是,该软件以其他方式与 control plane 以及在操作数项目中运行的其他服务和工作负载隔离。
将项目与操作数项目连接时,cpd-cli manage setup-tethered-ns命令:- 更新操作程序项目中的
IBM NamespaceScope Operator,以使操作程序能够监视系留项目。 - 更新操作数项目中的
ZenService定制资源以将系留项目添加到tetheredNamespaces条目。这使 Cloud Pak for Data control plane 能够监视和管理系留项目中的工作负载。
- 在安装和管理命令中,
- 您正在运行需要访问特定服务实例的定制应用程序,但出于安全原因,您不希望该应用程序访问在 Cloud Pak for Data中运行的其他服务。
- 您正在运行需要特定计算资源或特定服务质量的工作负载。
许多服务仅支持给定项目中的一个服务实例。 因此,如果要创建服务的多个实例,那么必须在不同的项目中部署服务的每个实例。 您可以通过创建多个系留项目并在每个系留项目中创建一个服务实例来实现此目的。
您可以在同一系留项目中对不同服务的服务实例和工作负载进行共存,也可以在一个服务或工作负载需要更多特权时创建不同的系留项目。 您可以使用不同的系留项目为每个服务实例或工作负载提供与 最低特权原则一致所需的特权。
由于系留项目在逻辑上与操作数项目隔离,因此系留项目可以有自己的 NetworkPolicies, SecurityContext和 ResourceQuota。
有关将项目绑定到操作符项目的更多信息,请参阅将项目绑定到 IBM Cloud Pak for Data control plane。
多租户注意事项
如果要在集群上安装 Cloud Pak for Data 的多个实例,那么必须为要安装的每个实例创建操作程序项目和操作数项目。 Cloud Pak for Data的多个实例无法共享系留项目。 如果要使用系留项目,那么必须为要使用这些项目的每个实例创建系留项目。
样本项目配置
下图显示了样本项目配置。 这些图说明了在同一集群上具有多个 Cloud Pak for Data 实例的环境。
- IBM Certificate manager 使 Cloud Pak for Data control plane 和服务能够在每个实例中生成并自动轮换 TLS 证书,以实现安全的微服务到微服务通信。
- License Service 监视 Cloud Pak for Data 的每个实例以跟踪 VPC 使用情况。 这些数据使您能够生成使用的审计快照。
- scheduling service 将监视 Cloud Pak for Data 的每个实例,以执行以下操作:
- 调度由 Cloud Pak for Data control plane 和服务启动的 pod。
- 应用特定调度策略。
- 强制实施配额。
上图显示了具有两个 Cloud Pak for Data实例的集群。
Cloud Pak for Data 的每个实例都有自己的操作程序项目和自己的操作数项目。 在此示例中,每个实例至少有一个系留项目。 但是,系留项目是可选的。
最佳实践: 创建组以在多租户环境中管理项目
如果部署多个 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-