我有一个在Kubernetes集群中运行的docker映像,该映像具有带有存储库的标签标签,在构建时即已添加该标签:
docker build . --label "repo=<repo_name>" tag <tag>
我有一个看起来像这样的kubenetes部署:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
run: my-cool-app
name: my-cool-app
spec:
replicas: 1
selector:
matchLabels:
run: my-cool-app
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
run: my-cool-app
spec:
containers:
- image: <imagename>:v1
name: my-cool-app
resources: {}
我想知道是否可以提取docker图像标签,并将其作为元数据标签添加到我的kubernetes规范中?
答案 0 :(得分:0)
无法提取它,但是您可以将其附加到您使用的部署中。例如,如果您使用Helm chart,则可以为metadate和image使用一个变量。您需要做的就是更新value.yaml。它可能看起来像:
value.yaml
my-cool-app-tag: v1
my-cool-app.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
run: my-cool-app
name: my-cool-app
spec:
replicas: 1
selector:
matchLabels:
run: my-cool-app
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
run: my-cool-app
tag-lable: {{ .value.my-cool-app-tag }}
spec:
containers:
- image: <imagename>:{{ .value.my-cool-app-tag }}
name: my-cool-app
resources: {}