准备 Satellite 集群以进行自动缩放
在 Satellite 集群中使用集群自动缩放器附加组件之前,请完成以下步骤。
Satellite 集群上的自动缩放功能在 Beta 中仅适用于列入允许列表的帐户。 您可以通过在支持人员的支持下 打开案例 来添加到允许列表。
对非允许的帐户启用自动缩放器会导致 The 'cluster-autoscaler' add-on is not supported on satellite clusters 错误。 您可以通过在支持人员的支持下 打开案例 来添加到允许列表。
了解 Satellite 集群中的自动缩放
- 如何对 Satellite 集群进行向上扩展?
 - 集群自动缩放器定期检查由于缺少内存或 CPU 资源而处于暂挂状态的 pod。
              
- 自动缩放器会检查是否在集群中的任何工作池上启用了缩放,如果启用了缩放,那么自动缩放器会计算工作程序节点的所需数目,以容纳处于暂挂状态的所有 pod。 如果没有工作程序池启用自动缩放,那么不会执行任何操作。
 - 自动缩放器比较上一步中计算的所需工作程序节点计数,并将其与允许缩放的 
MaxSize或总工作程序节点数进行比较。 如果允许的MaxSize小于或等于满足所有 pod 所需的工作程序节点计数,那么自动缩放器会向实例组发送调整大小请求。 - 自动缩放器会访存位置中的 
Ready或Unassigned主机,并且主机标签与启用了自动缩放的工作程序池中的工作程序节点上的标签匹配。 - 自动缩放器确定是否有足够的可用 
Ready或Unassigned主机来满足调整大小请求。- 如果该位置中没有足够的主机可用,那么会向日志添加一条警告,指示调整大小操作未完成。
 - 如果有可用的主机是 
Ready或Unassigned,并且具有匹配的主机标签,那么自动缩放器将使用这些主机来实现请求。 - 如果没有主机可用于匹配的主机标签,那么自动缩放器会过滤 
Ready或Unassigned主机以仅使用缺省主机标签的主机。 然后,自动缩放器会更新这些主机上的标签,以与启用了缩放的工作程序池的主机标签匹配,并使用这些主机来实现请求。 
 
 - 如何在 Satellite 集群中进行缩减?
 - 当集群自动缩放器确定在指定的 
scaleDownUnneededTime时间内未充分利用工作程序节点时,将从集群中删除工作程序。 然后,用于这些工作程序节点的主机在该位置处于Reload Required或Unassigned状态。 在重新装入这些主机并将其重新连接到该位置之前,任何其他集群都无法使用这些主机。 请注意,工作程序池中的所有工作程序必须是同一类型模板。 - 如果我的位置没有可供扩展的可用主机,会发生什么情况?
 - 如果没有足够的主机用于向上扩展,那么不会完全部署工作负载。 但是,将更多主机添加到位置后,将自动恢复向上扩展操作。
 - 与 IBM Cloud® Kubernetes Service 或 Red Hat® OpenShift® on IBM Cloud®相比,自动缩放在 Satellite 上有何不同?
 - IBM Cloud® Kubernetes Service 或 Red Hat® OpenShift® on IBM Cloud® 可以在缩放过程中自动供应或除去基础结构中的主机。 对于 Satellite,由于主机位于各种不同的基础结构上,因此自动缩放器无法自动供应和移除工作程序节点。 相反,在 Satellite 集群上,集群自动缩放器仅使用已在该位置可用且就绪的主机。 这意味着您需要在位置中保留其他主机,以供自动缩放器在扩展期间使用。
 - 集群自动缩放器在扩展集群时使用哪种类型的主机?
 - 具有 
Ready状态和unassigned状态的主机被视为可供集群自动缩放器使用。 - 在扩展期间可以使用哪些可用主机?
 - 在 
Ready和unassigned主机中,只有其标签与启用了缩放的工作程序池的标签匹配的主机才能用于缩放。 将主机连接到位置时,请确保标注要在自动缩放的工作程序池中使用的主机。 - 集群自动缩放器如何影响计费?
 - 由于集群自动缩放器不会在基础结构级别执行任何操作,但是它会将主机分配给工作程序池,这意味着会产生 集群管理费用。
 - 在缩放事件之后,我该如何处理用于缩放的主机 (这些主机现在处于 
Reload requried状态)? - 缩放后,主机将进入 
Reload required状态,并且无法再次用于缩放,直到重新引导主机为止。 从工作程序池中取消分配这些主机,从您的位置中除去这些主机,重新引导这些主机,然后重新连接以使其可用于再次扩展。 - 如何在 Satellite 集群中设置自动缩放
 - 要设置自动缩放,必须完成以下步骤。
              
- 创建一个Satellite位置。
 - 设置位置控制平面。
 - 连接缺省工作程序池的主机。
 - 创建使用 Satellite 主机的集群。
 - 在集群中验证或创建所需的存储密钥。
 - 将更多主机连接到您的位置,并在集群中创建第二个工作程序池。
 - 将更多主机连接到您的位置,并使其保持未分配状态,可用于缩放。
 - 安装 "
cluster-autoscaler插件。 - 编辑自动缩放器 ConfigMap 并启用缩放。
 
 
设置位置和集群以进行自动缩放
- 
              
创建位置 并设置控制平面。
 - 
              
设置控制平面后,连接更多主机,您希望在集群的缺省工作程序池中使用这些主机。
 - 
              
复制以下
storage-secret-store私钥并将其保存为文件。 您可以在 Satellite 链接端点 您所在位置的页面上找到openshift-api端点详细信息。apiVersion: v1 kind: Secret metadata: name: storage-secret-store namespace: kube-system type: Opaque stringData: ca_iam_api_key: "<iam_api_key>" # Enter your IAM API key container_api_route: "API ROUTE" # Enter the Destination IP of the openshift-api Link endpoint for your Satellite loction. For example: https://i43fb00XXX-XXXX6bf59a8XXX-ce00.us-east.satellite.appdomain.cloud - 
              
在集群中创建私钥。
oc create -f secret.yaml -n kube-system - 
              
将更多主机连接到要在自动缩放工作程序池中使用的位置。 作为最佳实践,请勿在缺省工作程序池上设置自动缩放。 连接要在自动缩放工作程序池中使用的主机时,请确保指定主机标签,例如主机
cpu=16和memory=64。 集群自动缩放器附加组件使用主机标签来查找可用于缩放的主机。 用于在指定 CPU 和内存的主机标签时连接主机的示例命令。ibmcloud sat host attach --location LOCATION --host-label "cpu=16" --host-label "memory=64" [--operating-system SYSTEM] - 
              
使用连接的主机创建第二个工作程序池。 有关更多信息,请参阅 在 Satellite 中创建 Red Hat OpenShift on IBM Cloud 集群。
 - 
              
将更多主机连接到您的位置,但不将它们分配给工作程序池。 这些
Ready/Unassigned主机可用于自动缩放。 当您连接要保留可用于自动缩放的主机时,请确保指定主机标签,例如主机cpu=16和memory=64。 集群自动缩放器附加组件使用主机标签来查找可用于缩放的主机。 - 
              
在集群中安装集群 附加组件。 请注意,如果看到错误消息
The 'cluster-autoscaler' add-on is not supported on satellite clusters,那么不会允许您的帐户使用该附加组件。 要添加到允许列表,请在支持下 打开案例。 - 
              
编辑集群自动缩放器 ConfigMap,并指定要使用的自动缩放参数,例如
MinSize,MaxSize和要用于缩放的工作程序池。