如何禁用节点自动修复

Posted

技术标签:

【中文标题】如何禁用节点自动修复【英文标题】:How to disable node auto-repair 【发布时间】:2021-05-16 19:10:20 【问题描述】:

如何使用 terraform 禁用 GKE 集群节点维护自动修复?看来我无法从 GCP 控制台停止节点或更改 GKE 节点的设置。所以我想我必须使用 terraform 来尝试它,即使它重新创建了集群。

如何进行维护?我认为它会将所有 pod 迁移到辅助节点,然后重新启动第一个节点是否正确?但是,如果辅助节点没有足够的资源来处理来自主节点的所有节点怎么办? GCP 会创建新节点吗?例如:主节点有大约 110 个 Pod,辅助节点有 110 个 Pod。节点需要重启时如何维护?

【问题讨论】:

【参考方案1】:

您可以通过在 GCP shell 中运行以下命令来禁用节点自动修复:

gcloud container node-pools update <pool-name> --cluster <cluster-name> \
--zone compute-zone \
--no-enable-autorepair

您也可以在此link 中了解如何使用 GCP 控制台进行操作。

如果您仍然遇到问题并希望使用 terraform 禁用节点自动修复,您必须在 参数 中指定 management 以启用 auto-repair。您可以在terraform's 文档中找到更多详细信息。

您还可以在这里找到node repair process 的工作原理:

如果 GKE 检测到某个节点需要修复,则该节点将被清空并重新创建。 GKE 会等待一小时以完成排空。如果排空没有完成,则关闭节点并创建一个新节点。

如果需要修复多个节点,GKE 可能会并行修复节点。 GKE 根据集群的大小和损坏的节点数来平衡修复次数。 GKE 将在更大的集群上并行修复更多节点,但随着不健康节点数量的增加,节点会减少。

如果您在修复过程中的任何时候禁用节点自动修复,则正在进行的修复不会取消并继续对当前正在修复的任何节点。

【讨论】:

以上是关于如何禁用节点自动修复的主要内容,如果未能解决你的问题,请参考以下文章

如何修复AppScan漏洞

使用 API 或 CLI 在 AWS 上禁用或启用自动修复

如何修复智能感知自动完成?

如何使视图修复屏幕IOS 8?

如何修复“在此系统上禁用运行脚本”?

H.265视频流媒体EasyPlayer播放器无法禁用自动播放的问题修复