【发布时间】:2019-04-14 03:06:50
【问题描述】:
我有一个在 us-central1 中运行的 GKE 集群,带有一个可抢占的节点池。我在每个区域都有节点(us-central1-b、us-central1-c、us-central1-f)。在过去 10 小时内,我收到底层节点 vm 的以下错误:
Instance '[instance-name]' creation failed: The zone
'[instance-zone]'
does not have enough resources available to fulfill
the request. Try a different zone, or try again
later.
我尝试使用 HA(多区域)设置在不同区域使用不同机器类型创建新集群,但每个集群都出现相同的错误。
我在Google Cloud Status Dashboard 上看到了一个问题,并按照建议尝试了控制台,结果出现超时错误。
还有其他人有这个问题吗?知道我可能做错了什么吗?
更新
- 11 月 11 日
- 我在 us-west2 中建立了一个集群,这是唯一可以工作的集群。我使用了 gcloud 命令行,UI 似乎无效。在 Google Cloud 状态仪表板上有一条类似这种情况的注释,使用 gcloud 而不是 ui。
- 我尝试使用 gcloud 命令行和 ui 在 us-central1 中创建节点池,但无济于事。
- 我现在正在跨区域联合部署并支持多区域入口。
- 十一月12
- 无法在 us-central1 中创建 HA 集群;与上面列出的消息相同。
- 通过推特联系并收到回复。
- 与K8s guide to federation 合作,看看我是否可以让多集群运行。最有可能使用Kelsey Hightowers approach
- 唯一的问题,无法启动集群以进行联合。
调查结果
- 与谷歌支持交谈,需要 150 美元/月。包让技术人员回答我的问题。
- 抢占式实例不是主节点池的好选择。我这样做是因为我很便宜,这让我很难受。
- 新架构是一个主节点池,其中包含不自动缩放的committed use VM,以及一个带有可抢占实例的辅助节点池,以满足自动缩放的需求。辅助池的最小节点数 = 0,最大节点数 = 5(目前);此集群是区域性的,因此实例跨所有区域。
- n1-standard-1 sustained use(假设 24/7)的成本是 30% 折扣列表。
- 为期 1 年的 n1-standard-1 committed use 的成本约为清单外约 37% 的折扣。
- 每 24 小时重新配置一次抢占式实例。如果在该地区的资源需求激增时没有从您那里取走它们。
- 我相信我成为了 us-central1 资源峰值的牺牲品。
- 希望联合 K8s 的人们必须注意:Kelsey Hightower - CNCF Keynote | Kubernetes Federation
【问题讨论】:
-
我还看到在 us-central1(ui + 命令行)上创建 kubernetes 集群时屡次失败。
-
@AndrewLittle,感谢您的确认!
-
正如您的更新所证实的,这是一个已知问题; the Hacker News thread 已经有 250 厘米深了
-
尝试使用特定的:
us-east1-d -
@MatthewLDaniel,谢谢你。天哪,那条线很快就炸了!
标签: kubernetes google-cloud-platform google-kubernetes-engine