【问题标题】:How to get the annotations using the kubernetes API for python?如何使用 kubernetes API for python 获取注释?
【发布时间】:2021-11-21 18:00:42
【问题描述】:

我有一个 Docker 映像,其中包含 Python 中的应用程序,在 Kubernetes 中作为部署运行,我想向该应用程序传递一些数据。我使用了环境变量,但我想使用注释,但我不确定如何阅读它们,我看到 V1ObjectMeta 有一个名为 annotations 的字段,但我有点不知道如何调用它。

例如:

如果我的 pod 有这个:

template:
  metadata:
    annotations:
      foo: "var"

如何使用 Kubernetes 库在 pod 内运行的 python 程序读取foo: var

【问题讨论】:

  • 欢迎您!请提供您迄今为止编写的相关代码,最好是您遇到的行为的最小的、可重现的示例,并说明出现了什么问题或您希望进行哪些改进。事实上,这里没有多少人可以帮助你,因为这个问题很模糊。

标签: python kubernetes


【解决方案1】:

您只需要从 Kubernetes API 获取 pod 对象。它具有与YAML 格式相同的结构,所以一旦你有了数据,剩下的就很简单了。见下文:

from kubernetes import client, config

config.load_incluster_config()
c = client.CoreV1Api()

pod = c.read_namespaced_pod(name="my-pod-name", namespace="my-namespace")

print(pod.metadata.annotations["foo"])

【讨论】:

    猜你喜欢
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 2010-09-28
    • 2023-03-17
    • 2011-08-31
    • 2013-05-20
    相关资源
    最近更新 更多