小编ave*_*ell的帖子

Ruby(Rails)#inject on hashes - 好风格?

在Rails代码中,人们倾向于使用Enumerable #injection方法来创建哈希,如下所示:

somme_enum.inject({}) do |hash, element|
  hash[element.foo] = element.bar
  hash
 end
Run Code Online (Sandbox Code Playgroud)

虽然这似乎已成为一种常见的习语,但是有没有人看到优于"天真"版本的优势,这将是:

hash = {}
some_enum.each { |element| hash[element.foo] = element.bar }
Run Code Online (Sandbox Code Playgroud)

我在第一个版本中看到的唯一优势是你在一个封闭的块中执行它并且你没有(显式地)初始化哈希.否则它会以一种意想不到的方式滥用方法,难以理解并且难以阅读.那为什么它如此受欢迎?

ruby ruby-on-rails

27
推荐指数
3
解决办法
3万
查看次数

GKE 中的节点池自动升级(如何)实际发挥作用?

我们在 GKE 上部署了相当大的 Kubernetes,我们希望通过启用自动升级来让我们的生活变得更轻松。有关该主题的文档告诉您如何启用它,但没有告诉您它的实际工作原理。

我们在测试集群上启用了该功能,但没有升级任何节点(尽管 UI 不断提醒我们“可以升级”)。

文档称它将更新为“最新的稳定”版本,并且“由 GKE 团队自行决定定期更新”——这两者都没有太大帮助。

用户界面总是显示:“下次自动升级:未安排”

有人在生产中使用过此功能并且可以阐明它的实际用途吗?

我做了什么:

  • 我在节点池而不是集群本身)上启用了该功能
  • 我设置了维护窗口
  • 集群版本为1.11.7-gke.3
  • 节点池有版本1.11.5-gke.X
  • 最新的可用版本是1.11.7-gke.6

我所期望的:

  • 节点池将更新为1.11.7-gke.3(默认集群版本)或1.11.7-gke.6(最新版本)
  • 更新将在下一个维护时段进行
  • 否则,更新将像“手动”更新一样工作

实际发生了什么:

  • 没有什么
  • 节点池保持运行1.11.5-gke.X超过一周

我的问题

  • 节点池版本应该更新吗?
  • 如果是的话,什么时间?
  • 如果是这样,到什么版本?

kubernetes google-kubernetes-engine

4
推荐指数
1
解决办法
1730
查看次数