14.8. 将数据平面缩减为零
如果您没有使用托管的控制平面,为了保存资源和成本,您可以将数据平面缩减为零。
确保您准备将数据平面缩减为零。因为 worker 节点的工作负载在缩减后会消失。
流程
运行以下命令,设置
kubeconfig
文件以访问托管集群:export KUBECONFIG=<install_directory>/auth/kubeconfig
$ export KUBECONFIG=<install_directory>/auth/kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,获取与托管集群关联的
NodePool
资源的名称:oc get nodepool --namespace <hosted_cluster_namespace>
$ oc get nodepool --namespace <hosted_cluster_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要防止 pod 排空,请运行以下命令在
NodePool
资源中添加nodeDrainTimeout
字段:oc edit nodepool <nodepool_name> --namespace <hosted_cluster_namespace>
$ oc edit nodepool <nodepool_name> --namespace <hosted_cluster_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意要允许节点排空过程在特定时间段内继续,您可以相应地设置
nodeDrainTimeout
字段的值,例如nodeDrainTimeout: 1m
。运行以下命令来缩减与托管集群关联的
NodePool
资源:oc scale nodepool/<nodepool_name> --namespace <hosted_cluster_namespace> \ --replicas=0
$ oc scale nodepool/<nodepool_name> --namespace <hosted_cluster_namespace> \ --replicas=0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意将数据计划缩减为零后,control plane 中的一些 pod 会一直处于
Pending
状态,托管的 control plane 会保持启动并运行。如果需要,您可以扩展NodePool
资源。可选:运行以下命令来扩展与托管集群关联的
NodePool
资源:oc scale nodepool/<nodepool_name> --namespace <hosted_cluster_namespace> --replicas=1
$ oc scale nodepool/<nodepool_name> --namespace <hosted_cluster_namespace> --replicas=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在重新扩展
NodePool
资源后,请等待几分钟,让NodePool
资源变为Ready
状态。
验证
运行以下命令,验证
nodeDrainTimeout
字段的值是否大于0s
:oc get nodepool -n <hosted_cluster_namespace> <nodepool_name> -ojsonpath='{.spec.nodeDrainTimeout}'
$ oc get nodepool -n <hosted_cluster_namespace> <nodepool_name> -ojsonpath='{.spec.nodeDrainTimeout}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow