【问题标题】:Changing serviceType in kubernetes using helm upgrade使用 helm upgrade 在 Kubernetes 中更改 serviceType
【发布时间】:2020-05-17 02:07:13
【问题描述】:

我们已经将一项服务部署为无头服务,即 clusterIp : None 在生产中。 现在我们需要将其更改为非无头服务,即类型应该是 ClusterIp,并且 clusterIp 应该设置为 None 以外的某个值。 我修改了图表并尝试使用 helm upgrade 命令进行部署。但这是不允许的,并且 helm 抱怨服务类型是一个不可变的字段。

kubectl edit svc 也没有帮助。 kubectl 补丁也很有效。 除了删除 helm chart 并重新部署之外,还有其他解决方法吗?

【问题讨论】:

  • 您是否尝试在运行升级之前删除该服务? Helm 应该将服务识别为缺失的资源,并使用新类型重新创建它。
  • kubectl edit svckubectl patch 的输出是什么?
  • @EduardoBaitello 在生产期间删除服务会导致停机,对吗?
  • @Nick kubectl edit svc => 不能修改不可变字段。 kubectl patch => 服务没有打补丁。

标签: kubernetes google-cloud-platform openshift kubernetes-helm


【解决方案1】:

如果我们说的是Services,那么ClusterIP通常是由master分配的,就是服务的IP地址。

如果指定,如果未使用,则将其分配给服务,否则创建服务将失败。

有效值为None、空字符串 ("") 或有效的 IP 地址。当不需要代理时,可以为 headless service 指定 None

无法更新。

您会发现 Kubernetes 顶级 API 对象 Documentation 很有帮助。

希望能够阐明您所面临问题的根本原因(更改服务类型)。

【讨论】:

  • 感谢@Nick 的澄清。我明白你的意思。因此无法更新服务的服务类型。唯一的选择是删除并再次创建服务。您还有其他建议可以满足我的要求吗?
  • 据我从文档中可以看出,不重新创建(删除该服务的先前实例)是不可能更新/修补服务的。
  • 是的。感谢您回复@Nick
  • 是的,当然。如果您觉得有用,请随意使用“已接受”。
猜你喜欢
  • 2022-11-11
  • 1970-01-01
  • 2018-08-02
  • 2018-09-30
  • 2018-02-08
  • 2020-03-24
  • 1970-01-01
  • 2020-09-29
  • 2022-09-27
相关资源
最近更新 更多