我使用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不公开这些数据。如果是这样,它将成为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)公开该信息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。