OpenShift::Pod没有从部署配置继承";名称标签"; [英] OpenShift :: POD is not inheriting "name label" from the deployment config
本文介绍了OpenShift::Pod没有从部署配置继承";名称标签";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从git repo(基于Docker的应用程序)创建了生成配置。
oc new-build <git-url> --name=myApp
创建部署配置使用:
oc create dc myApp --image=<image-stream-repo>
我正在从UI向此部署配置添加标签。
- 现在,当我部署应用程序(从UI)或使用
oc rollout
时,POD被创建,应用程序在POD中运行。
但标签(名称:myApp)未应用于POD。因此,service
中的selector
无法识别POD。该服务使用标签name: myApp
配置为POD选择器。
如果我转到创建的POD并edit yaml
并在labels
部分中添加name: myApp
,则只有该POD才能由服务标识。
如果任何人遇到过类似问题,请提供您在解决此问题方面的投入。
推荐答案
要使用DeploymentConfig
在Pod
上设置标签,标签必须放置在嵌套更深的键中,如下所示,否则它将设置在DeploymentConfig
本身,而不是Pod
:
objects:
- kind: DeploymentConfig
apiVersion: v1
metadata:
name: my-name
# labels: NOT HERE (FOR DC ONLY)!
spec:
replicas: 1
selector:
app: my-name
strategy:
type: Rolling
template:
metadata:
labels:
app: my-name
myAppsGroup: myApp
您可以使用oc describe pod my-name
这篇关于OpenShift::Pod没有从部署配置继承";名称标签";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文