【问题标题】:Create service environment variable Kubernetes创建服务环境变量 Kubernetes
【发布时间】:2021-11-03 01:43:20
【问题描述】:

我想知道这是否可能。在我的很多 K8s 部署中,我会有一个 Postgres 数据库,有时该服务称为 Postgres,有时称为 Postgresql(取决于我使用的 Docker 映像)。 Kubelet 会自动添加{SVCNAME}_SERVICE_HOST{SVCNAME}_SERVICE_PORT 环境变量,我想知道我是否可以从这个变量创建另一个(一致命名)EV?我问的原因是因为这就是我构建连接字符串的方式,所以如果这种情况发生变化,我需要重建图像。谢谢!

【问题讨论】:

  • 你能举一个很好的例子来说明你想要实现的目标吗?

标签: postgresql kubernetes service-discovery


【解决方案1】:

是的,除非您不为 postgres 服务更改任何内容,否则您可以使用它

创建容器时正在运行的所有服务的列表可供该容器作为环境变量使用。

例子:

HOSTNAME=something-fddf-123123123-gbh45
SHLVL=1
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KUBERNETES_SERVICE_PORT_HTTPS=80
KUBERNETES_SERVICE_HOST=x.x.x.x
PWD=/

参考:https://kubernetes.io/docs/concepts/containers/container-environment/

【讨论】:

  • 谢谢!如果它全部包含在一个服务中,那很好,但是我需要服务 A(API)来连接到服务 B(数据库)。
  • 使用服务名相互连接。如果它解决了您的问题,请考虑接受答案。如果发现答案有帮助,请点赞:stackoverflow.com/help/accepted-answer
猜你喜欢
  • 2023-03-14
  • 1970-01-01
  • 2015-11-19
  • 2020-10-11
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 1970-01-01
  • 2018-09-09
相关资源
最近更新 更多