支持的项目(命名空间)配置
升级至 IBM Software Hub 版本 5.1 ,在 4.8 版本达到支持 IBM Cloud Pak for Data 终止前完成升级。 有关更多信息,请参阅从 IBM Cloud Pak for Data 版本 4.8 升级到 IBM 的说明: Software Hub 版本 5.1。
您必须在集群上创建的项目(命名空间)取决于多个因素。 请查阅以下信息,以确定您必须创建哪些项目。
cpd-cli 可自动为您创建项目。 不过,若您更倾向于手动创建这些项目,安装和升级文档中包含了通过命令行 OpenShift® 界面创建项目的指导说明。共享集群组件项目
共享集群组件在集群上仅安装一次,并由集群 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 版本 4.6 升级至版本 4.8 ,则必须创建一个额外的项目。 在升级至 4.8 版本期间,和 License ServiceIBM Certificate manager 将临时安装在此项目中。 该项目被称为项目 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 其专属的操作符集。 本项目中的所有操作员必须安装在同一版本上。 例如,所有操作员都必须安装在版本 4.8.9.
在操作数项目中安装您计划安装的服务的操作符。 每个操作符在操作数项目中监控相应的操作数。
- 操作数项目
- 安装该项目及 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 能够监控和管理绑定项目中的工作负载。
- 在安装和管理命令中,指代
- 您正在运行一个需要访问特定服务实例的自定义应用程序,但出于安全考虑,您不希望该应用程序访问在.NET Framework中运行的其他 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
您可以使用标签对项目进行分组:
- 要为与部署
dev相关的项目添加标签,cpdgroup=dev请运行以下命令:oc label namespace dev apps-dev db-dev cpdgroup=dev - 要将与部署
prod相关的项目分组,cpdgroup=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-