1.15. 管理集群池(技术预览)

集群池提供对按需和规模配置的 Red Hat OpenShift Container Platform 集群的快速、经济的访问。集群池在 Amazon Web Services、Google Cloud Platform 或 Microsoft Azure 上置备可配置且可扩展的 OpenShift Container Platform 集群,在需要时可以声明。在为开发、持续集成和生产环境提供或替换集群环境时,它们特别有用。您可以指定多个集群来保持运行,以便可以立即声明它们,而集群的剩余部分将保留在休眠状态,以便在几分钟后恢复并声明。

ClusterClaim 资源用于从集群池中签出集群。创建集群声明时,池会为它分配一个正在运行的集群。如果没有正在运行的集群可用,则会恢复休眠集群来提供集群或新的集群。集群池自动创建新集群,并恢复休眠集群来维护池中的指定大小和可用集群的数量。

注: 当从集群池中声明的集群不再需要并销毁时,资源会被删除。集群不会返回到集群池。

需要的访问权限:Administrator

创建集群池的过程与创建集群的步骤类似。在集群池中创建的集群不会供立即使用。

1.15.1. 先决条件

在创建集群池前,请查看以下先决条件:

  • 您需要部署一个 Red Hat Advanced Cluster Management for Kubernetes hub 集群。
  • 您需要互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在供应商环境中创建 Kubernetes 集群。
  • 您需要一个 AWS、GCP 或 Microsoft Azure 供应商凭证。如需更多信息,请参阅 管理凭证概述
  • 您需要供应商环境中配置的域。有关如何配置域的说明,请参阅您的供应商文档。
  • 您需要供应商登录凭证。
  • 您需要 OpenShift Container Platform 镜像 pull secret。请参阅使用镜像 pull secret

注: 使用这个流程添加集群池,以便在从池中声明集群时自动导入由 Red Hat Advanced Cluster Management 管理的集群。如果要创建一个没有自动导入使用集群声明的集群池,请将以下注解添加到 clusterClaim 资源中:

kind: ClusterClaim
metadata:
  annotations:
    cluster.open-cluster-management.io/createmanagedcluster: "false"

"false" 必须用引号括起来,表示它是一个字符串。

1.15.2. 创建集群池

要创建集群池,在导航菜单中选择 Infrastructure > ClustersCluster pool 选项卡列出您可以访问的集群池。选择 Create cluster pool 并完成控制台中的步骤。

如果您没有要用于集群池的基础架构凭证,可以通过选择 Add credential 来创建一个。

您可以从列表中选择现有命名空间,或者键入要创建新命名空间的名称。集群池不必与集群位于同一个命名空间中。

当您在集群集合中创建集群池时,namespace admin 权限将应用到您添加集群池的命名空间中具有 clusterset admin 权限的所有用户。同样,namespace view 权限也会应用到具有 clusterset view 权限的用户。

如果您希望集群池的 RBAC 角色共享现有集群集合的角色分配,请选择集群设置名称。只有创建集群池时,才能设置集群池中的集群设置。您无法在创建集群池后更改集群池或集群池中集群集的关联。从集群池中声明的任何集群都会自动添加到与集群池相同的集群集合中。

注:如果没有 cluster admin 权限,则必须选择一个集群集。如果您在此情形中没有包含集群集的名称,则创建集群集的请求将被拒绝,并带有禁止的错误。如果没有集群集可供选择,请联络您的集群管理员来创建集群集,并为您提供 clusterset admin 权限。

集群池大小指定您在集群池中置备的集群数量,而集群池运行计数指定池运行的集群数量并准备好立即使用。

此过程与创建集群的步骤非常相似。

有关您的供应商所需信息的详情,请查看以下信息:

1.15.3. 从集群池中声明集群

ClusterClaim 资源用于从集群池中签出集群。当集群正在运行并位于集群池中时,会出现一个声明。集群池自动在集群池中创建新运行和休眠集群,以维护为集群池指定的要求。

注: 当从集群池中声明的集群不再需要并销毁时,资源会被删除。集群不会返回到集群池。

需要的访问权限:Administrator

1.15.3.1. 前提条件

在从集群池中声明集群前,您必须有以下可用:

具有或没有可用集群的集群池。如果集群池中存在可用的集群,则会声明可用的集群。如果集群池中没有可用的集群,则会创建一个集群来满足这个声明。如需有关如何创建集群池的信息,请参阅创建集群池

1.15.3.2. 从集群池中声明集群

在创建集群声明时,您可以从集群池请求新集群。当集群可用时,从池中签出集群。声明的集群自动导入为其中一个受管集群,除非您禁用了自动导入。

完成以下步骤以声明集群:

  1. 在导航菜单中点 Infrastructure > Clusters,然后选择 Cluster pool 选项卡。
  2. 从中查找您要声明集群的集群池的名称,然后选择 Claim cluster

如果集群可用,它将被声明并立即出现在 Managed cluster 选项卡中。如果没有可用的集群,可能需要几分钟时间来恢复休眠集群或置备新集群。在这个时间中,声明状态为 pending。扩展集群池,以查看或删除待处理的声明。

当它在集群池中,声明的集群会保留作为与它关联的集群集的成员。在声明集群时,您无法更改声明的集群集合。

1.15.4. 扩展集群池

您可以通过增加或减少集群池大小中的集群数量来更改集群池中的集群数量。

需要的访问权限: 集群管理员

完成以下步骤以更改集群池中的集群数量:

  1. 在导航菜单中点 Infrastructure > Clusters
  2. 选择 Cluster pools 选项卡。
  3. 在您要更改的集群池的 Options 菜单中,选择 Scale cluster pool
  4. 更改池大小的值。
  5. 另外,您还可以更新正在运行的集群数量,以便在声明它们时立即可用的集群数量。

集群池已扩展,以反映您的新值。

1.15.5. 更新集群池发行镜像

当集群中的集群保留在休眠状态一段时间时,集群的 Red Hat OpenShift Container Platform 发行镜像可能会变为 backlevel。如果发生这种情况,您可以升级集群池中集群的发行镜像版本。

需要的访问权限 : Edit

完成以下步骤,为集群池中的集群更新 OpenShift Container Platform 发行镜像:

注: 此步骤不会从集群池中已声明的集群池中更新集群。完成此步骤后,对发行镜像的更新仅适用于与集群池相关的以下集群:

  • 使用此流程更新发行镜像后,由集群池创建的集群。
  • 在集群池中休眠的集群。使用旧发行镜像的现有休眠集群将被销毁,新集群使用新的发行镜像替换它们。
  1. 在导航菜单中点 Infrastructure > Clusters
  2. 选择 Cluster pools 选项卡。
  3. Cluster pool 表中找到您要更新的集群池的名称。
  4. 点表中的 Cluster poolsOptions 菜单,然后选择 Update release image
  5. 从这个集群池中选择一个新的发行镜像,用于将来的集群创建。

集群池发行镜像已更新。

提示:您可以通过选择一个操作来更新多个集群池的发行镜像,方法是选择每个集群池的方框并使用 Actions 菜单来更新所选集群池的发行镜像。

1.15.6. 销毁一个集群池

如果您创建了集群池,并确定您不再需要它,您可以销毁集群池。当您销毁集群池时,所有未声明的休眠集群都会被销毁,并释放其资源。

需要的访问权限: 集群管理员

要销毁集群池,请完成以下步骤:

  1. 在导航菜单中点 Infrastructure > Clusters
  2. 选择 Cluster pools 选项卡。
  3. 在您要删除的集群池的 Options 菜单中,选择 Destroy cluster pool。集群池中的任何未声明的集群都会被销毁。可能需要一些时间才能删除所有资源,集群池会在控制台中可见,直到所有资源都被删除为止。

    包含 ClusterPool 的命名空间不会被删除。删除命名空间将销毁 ClusterPool 声明的任何集群,因为这些集群的 ClusterClaim 资源会在同一命名空间中创建。

提示:您可以通过一个操作来销毁多个集群池,只需选择每个集群池的复选框,并使用 Actions 菜单销毁所选集群池。