开发者社区> 问答> 正文

如何使用Kubernetes访问标签?

k8s小能手 2018-12-29 15:00:05 477

我使用jenkins构建我的docker镜像:

docker build --build-arg VCS_REF=$GIT_COMMIT \
--build-arg BUILD_DATE=date -u +"%Y-%m-%dT%H:%M:%SZ" \
--build-arg BUILD_NUMBER=$BUILD_NUMBER -t $IMAGE_NAME
我正在使用Docker,但我正在迁移到k8。

使用docker我可以通过以下方式访问这些标签:

docker inspect --format "{{ index .Config.Labels "$label\"}}" $container
如何使用Kubernetes访问这些标签?

我知道在我的yaml文件的.Metadata.labels中添加这些标签,但我不喜欢它,因为 - 它将这些信息链接到部署而不是容器本身

  • 可以随时修改
    ...

kubectl describe pods

Kubernetes jenkins 持续交付 Docker 容器
分享到
取消 提交回答
全部回答(1)
  • k8s小能手
    2019-07-17 23:24:05

    Kubernetes不公开这些数据。如果是这样,它将成为PodStatus API对象(及其嵌入的ContainerStatus)的一部分,这是Pod数据的一部分,将被转出kubectl get pod deployment-name-12345-abcde -o yaml。

    您可以考虑在Docker镜像标记中编码一些数据; 例如,如果CI系统正在构建标记的提交,则使用源控件标记名称作为图像标记,否则使用提交哈希或序列号。另一个典型的路径是使用像Helm这样的部署管理器作为部署的主要真实来源,如果这样做,可以有一条从CD系统到Helm到Kubernetes的路径,可以传递标签或注释。您还可以经常在构建时设置软件以了解自己的构建日期和源代码控制提交ID,然后通过仅信息API(如HTTP GET /_version调用或其他类似API)公开该信息。

    0 0
+ 订阅

云原生时代,是开发者最好的时代

推荐文章
相似问题
推荐课程