我们正在构建docker -image,并在docker构建过程中添加一些元数据标签,例如:
docker build --label no.company.version=1.2.3 .
当我们稍后在kubernetes pod中使用此图像时,我们希望从kubernetes api中检索标签。这对于跟踪图像标记本身中编码的元数据以外的其他元数据非常有用。
标签可以通过节点上的docker获得,但我无法在kubernetes中找到任何方法来检索它们。这个是可能的吗?
发布于 2017-08-16 19:35:16
我不知道有什么方法可以从Kubernetes那里获得docker标签。然而,downward允许您将k8s标签放入pod中:https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/
发布于 2019-02-07 05:58:37
暂不支持从kubernetes api查询docker元数据。已打开PR以满足此请求。请关注
发布于 2020-01-15 14:07:33
如果使用Openshift,则docker标签在ImageStreamTag对象(apiVersion: image.openshift t.io/v1)上可见(如果您碰巧正在使用该功能)。
oc get istag myimage:latest -o yaml
apiVersion: image.openshift.io.v1
generation: 2
image:
dockerImageLayers:
- mediaType: application/vnd.docker.image.rootfs.diff.tar.gzip
name: sha256:690b26398d8aadd19a2936c1b51a335c06e0887775135f3186bc318c2dbf6d15
size: 31494540
- ...etc...
dockerImageManifestMediaType: application/vnd.docker.distribution.manifest.v2+json
dockerImageMetadata:
Architecture: amd64
Config:
Image: sha256:5593b121415d0e9e23ae1041628869379937580fd29d4e90d163f2101bd4d96d
Labels:
architecture: x86_64
mvn.version: 1.0.0-SNAPSHOT
git.branch: master
git.revision: 17c5424fcf578b13144e03d638becfb86e18ff92
... etc...
https://stackoverflow.com/questions/45599353
复制