我正在尝试在 GKE 集群上禁用 SMT,但在使用客户机器类型时它似乎不起作用。
有没有办法在部署 yaml 中或使用 gcloud 命令并重新启动来执行此操作?
我尝试使用服装机器类型而不是默认类型,但这不起作用
任何帮助将不胜感激! 谢谢!
同时多线程 SMT 有一些限制:
机器类型:在 vCPU 数少于 2 个的机器类型上,SMT 不可配置,例如 n1-standard-1 或 e2-micro、e2-small 和 e2-medium 等共享核心机器。
GKE 节点自动配置:启用节点自动配置的集群不支持 SMT 可配置性。
GKE 集群自动扩缩器:仅在运行 GKE 1.21 或更高版本的集群上支持通过 SMT 可配置性从零节点进行扩容
现有节点池:无法在现有节点池上配置 SMT。配置 SMT 后只能创建新集群或新节点池。
集群模式:SMT 在 GKE Autopilot 集群上不可配置。
如果您的集群存在上述任何限制,您将无法使用 SMT,对于您的场景,您可能无法配置现有集群,您需要创建一个没有 SMT 的新集群。
尝试以下方法后:
nodepool
:gcloud container node-pools create demosmtpool \ --cluster smtdemo \ --threads-per-core=1 \ --zone=us-central1-a
使用上述命令,您将创建一个关闭 SMT 的节点池,正如您提到的每核线程数为 1。
Drain and delete
默认或之前启用 SME 的节点池。上述方法适用于
n1-standard-2
,正如我所测试的,一旦尝试自定义机器类型,如果您遇到任何错误,请告诉我。