当前位置: 首页 > 知识库问答 >
问题:

如何从正在运行的 Pod usin 客户端 API 中获取当前命名空间

洪开济
2023-03-14

我正在使用库伯内特斯Java客户端库,以便与我的库伯内特服务器进行通信。

我的问题是,有没有办法通过编程方式从发送了对kubernetes调用的pod内部获取正在运行的pod的名称空间?

我听说这里有一个文件-/var/run/secrets/kubernetes . io/service account/namespace

但是我想知道有没有什么方法可以在不读取此文件的情况下使用java客户端获取它。

我已经在文档中搜索过,但是没有发现与此相关的任何内容。

共有2个答案

云啸
2023-03-14

不幸的是,快速搜索 Go、Python 和 Java 客户端似乎表明,集群内客户端不支持此功能。

这是有意义的,因为集群内客户机运行的命名空间不一定与客户机凭据作用域所在的命名空间相关,即角色、角色绑定和服务帐户。

因此,我可以理解为什么这样的方法/endpoint不存在于各种客户端中,因为这可能会非常令人困惑。因此,您最好也是唯一的选择似乎是< code >/var/run/secrets/kubernetes . io/service account/namespace

蓝飞
2023-03-14

如果在pod定义文件中设置了以下环境变量,pod的名称空间将存储在这些环境变量中。然后它可以被客户端API检索到。

 env
  - name: MYPOD_NAMESPACE
      valueFrom:
        fieldRef:
          fieldPath: metadata.namespace
 类似资料:
  • 问题内容: 我可以通过Remote API找到有关我的Jenkins服务器的所有信息,但不能找到当前正在运行的作业的列表。 这个, 要么 看起来似乎是最合乎逻辑的选择,但是他们没有说出(实际上是作业数)实际正在运行的作业。 问题答案: 我有一个使用“ 查看作业过滤器”插件定义的视图,该视图仅过滤当前正在运行的作业,然后您可以在视图页面上使用以查看正在运行的作业。我也有一个用于流产,不稳定等。 更新

  • 我有一个简单的问题涉及child_proccess。如果从脚本调用child_process,它将在该脚本中运行该命令。如果您导出运行该命令的函数,对于我测试的内容,它会尝试在库终端而不是当前终端中运行该命令。示例:假设您有导出到 b 的脚本 a.js.js在 a 中您有一个名为 hello 的函数,它使用 echo 命令打印“ World”: 当你运行它时,它不会给你发送任何东西。如果用cons

  • nuxt3如何在服务端获取当前域名,服务端无法使用location去获取 使用useRequestHeaders获取的空对象

  • 在nodejs中,我使用__dirname。在戈兰,这相当于什么? 我在谷歌上找到了这篇文章http://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/.他使用下面的代码 但是,这是正确的方式还是习惯的方式做在戈朗?

  • 本文向大家介绍magento 获取当前客户,包括了magento 获取当前客户的使用技巧和注意事项,需要的朋友参考一下 示例 要么