【问题标题】:Kubernetes: how to properly change apiserver runtime settingsKubernetes:如何正确更改 apiserver 运行时设置
【发布时间】:2017-12-12 05:47:10
【问题描述】:

我正在使用kube-aws 在 AWS 上运行 Kubernetes 集群,一切正常。

现在,我意识到我正在使用的版本 (v1.7.10_coreos.0) 中没有打开 cron 作业,而 Kubernetes 的文档只说明了以下内容:

对于以前版本的集群 (

并且该文本中指向的文档仅说明了这一点(它是实际的完整文档):

在启动 API 服务器时,可以通过传递 --runtime-config=api/ 标志来打开或关闭特定的 API 版本。例如:要关闭 v1 API,请通过 --runtime-config=api/v1=false。 runtime-config 还支持 2 个特殊键:api/all 和 api/legacy 分别控制所有和旧版 API。例如,要关闭除 v1 之外的所有 API 版本,请传递 --runtime-config=api/all=false,api/v1=true。就这些标志而言,旧版 API 是那些已明确弃用的 API(例如 v1beta3)。

我一直未能找到有关如何更改正在运行的集群的配置的信息,当然,我不想尝试在api-server 上重新运行该命令。

请注意,kube-aws 仍然使用hyperkube,而不是kubeadm。另外,/etc/kubernetes/manifests-目录只包含ssl-目录。

我要应用的设置是这样的:--runtime-config=batch/v2alpha1=true

应用此设置并重启apiservers 的正确方法是什么,最好使用kubectl

谢谢。

【问题讨论】:

  • /etc/kubernetes/manifests 不寻常地为空,而且完全丢失,因为在 90% 的情况下,apiserver 是静态配置 by kubelet,以摆脱需要工作的 apiserver 使用 kubectl 来对付的先有鸡还是先有蛋的情况。您的设置可能使用 systemd 来管理 kubelet 和 apiserver,所以systemctl list-units | grep -E 'kube|apiserver' 看看是否有任何有趣的东西出现。但无论哪种方式,更改 apiserver 的命令行是我所知道的完成您所要求的唯一机制
  • 感谢您的评论,马修!该命令的输出给了我一个错误:Failed to get D-Bus connection: Unknown error -1。我在apiserver pod 之一上运行它。如果清单目录为空,添加它是否安全?我很好奇如何更新配置然后重新启动apiserver。我只是杀死豆荚吗?或者我可以使用kubectl 运行命令来重新启动 apiserver?
  • 我正在其中一个 apiserver pod 上运行它 啊哈,现在我知道发生了什么;抱歉:您将希望在这些 apiserver 的节点上执行该操作(以及对 apiserver 运行方式的所有其他更改)(同样,我希望它是静态的);由于评论太长,我将在单独的评论中回答下半场
  • 如何更新配置然后重启 apiserver 假设 (!) apiserver 是由静态清单声明的,那么当磁盘上的文件更改时(在秒),我希望kubelet 注意到这个变化,杀死 apiserver 容器/Pod,并使用新的配置重新启动它——就像它被编程为通过来自 apiserver 本身的命令一样。如果您有多主机,AFAIK 还必须更新其他节点上匹配的 apiserver 清单,在验证第一个更改是否符合您的预期之后
  • 感谢 Matthew,非常感谢您的帮助!显然,我没有用 alpha 类型集测试它,这有点尴尬。我真的以为我做到了。但是,您现在提供的信息对我来说仍然非常有价值,因为我还没有找到关于它的文档。我在哪里可以找到那个静态清单?因为它不在/etc/kubernetes/manifests 中?请注意,我使用了kube-aws,它使用hyperkube,而不是kubeadm,用于部署。

标签: amazon-web-services cron kubernetes


【解决方案1】:

batch/v2alpha1=true 默认设置为kube-aws。你可以找到它here

【讨论】:

  • 你是绝对正确的。该死,我想知道我是怎么错过测试的。我确定我做到了。无论如何,这项工作有效:) 谢谢!
猜你喜欢
  • 2021-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-25
相关资源
最近更新 更多