【问题标题】:How can I unset an environment variable in Kubernetes?如何在 Kubernetes 中取消设置环境变量?
【发布时间】:2017-12-22 21:14:11
【问题描述】:

在为 Flower(Celery 监控服务)启动我的 Kubernetes 部署时,Kubernetes 会在 Flower pod 中生成以下环境变量:

FLOWER_PORT=tcp://10.67.97.89:5555
FLOWER_PORT_5555_TCP=tcp://10.67.97.89:5555
FLOWER_PORT_5555_TCP_ADDR=10.67.97.89
FLOWER_PORT_5555_TCP_PORT=5555
FLOWER_PORT_5555_TCP_PROTO=tcp
FLOWER_SERVICE_HOST=10.67.97.89
FLOWER_SERVICE_PORT=5555
FLOWER_SERVICE_PORT_5555=5555

这是由于在部署前不久启动的 Flower 服务。但是,Flower 需要 FLOWER_PORT 中的整数并中止。

如何防止创建这些环境变量?

【问题讨论】:

  • 它没有直接回答你的问题,但是当我过去遇到这样的冲突时,我已经重命名了服务,所以它不会发生冲突(即 FLOWER -> FLOWERSVC)。不是很满意,但它解决了问题。

标签: environment-variables kubernetes unset


【解决方案1】:

您无法阻止创建这些,但您可以通过在部署 pod 模板中明确设置它们来使用您自己的值覆盖它们。所以,如果你即。期望 FLOWER_PORT 的默认值是 80 而不是 tcp://...,你需要做的就是放

env:
- name: FLOWER_PORT
  value: "80"

就是这样。

【讨论】:

  • 在一个充满 Kubernetes 不感知应用程序的世界中,这是一种不幸的情况。特别是k8s设置自动APPNAME_PORT是自找麻烦。
猜你喜欢
  • 1970-01-01
  • 2015-11-16
  • 2019-07-21
  • 2023-03-13
  • 2014-07-15
  • 2022-08-24
  • 2014-05-02
  • 2014-08-06
  • 1970-01-01
相关资源
最近更新 更多