如何在 Kubernetes 中取消设置环境变量?

How can I unset an environment variable in Kubernetes?

当为 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 中的整数并中止。

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

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

env:
- name: FLOWER_PORT
  value: "80"

就是这样。