首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java应用程序Kubernetes上下文感知

Java应用程序Kubernetes上下文感知
EN

Stack Overflow用户
提问于 2020-05-02 03:20:19
回答 2查看 74关注 0票数 0

我希望我的应用程序根据它是在K8s还是在开发人员机器上运行而表现出不同的行为。

有没有办法让我的Java应用程序知道它是否在K8s上下文中运行?

EN

回答 2

Stack Overflow用户

发布于 2020-05-02 03:39:59

一种方法是查找当您的应用程序在Kubernetes集群中运行时独占存在的环境变量。

您可以使用:kubectl exec -it -n <namespace> <pod> printenv | grep '^KUBERNETES_'获取这些变量的列表。作为参考,以下是我获得的变量(service pod):

  • KUBERNETES_SERVICE_HOST
  • KUBERNETES_PORT_443_TCP
  • KUBERNETES_SERVICE_PORT_HTTPS
  • KUBERNETES_PORT
  • KUBERNETES_PORT_443_TCP_ADDR
  • KUBERNETES_PORT_443_TCP_PORT
  • KUBERNETES_SERVICE_PORT
  • KUBERNETES_PORT_443_TCP_PROTO
票数 0
EN

Stack Overflow用户

发布于 2020-05-02 04:15:41

没有什么是万无一失的,但有几个足够好的策略。最常见的是检查服务帐户凭据装载路径。另一种是显式环境变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61549326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档