OpenShift::Pod没有从部署配置继承"名称标签" [英] OpenShift :: POD is not inheriting "name label" from the deployment config

查看:33
本文介绍了OpenShift::Pod没有从部署配置继承"名称标签"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  1. 我从git repo(基于Docker的应用程序)创建了生成配置。

    oc new-build <git-url> --name=myApp

  2. 创建部署配置使用:

    oc create dc myApp --image=<image-stream-repo>

我正在从UI向此部署配置添加标签。

  1. 现在,当我部署应用程序(从UI)或使用oc rollout时,POD被创建,应用程序在POD中运行。

但标签(名称:myApp)未应用于POD。因此,service中的selector无法识别POD。该服务使用标签name: myApp配置为POD选择器。

如果我转到创建的POD并edit yaml并在labels部分中添加name: myApp,则只有该POD才能由服务标识。

如果任何人遇到过类似问题,请提供您在解决此问题方面的投入。

推荐答案

要使用DeploymentConfigPod上设置标签,标签必须放置在嵌套更深的键中,如下所示,否则它将设置在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没有从部署配置继承&quot;名称标签&quot;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆