【发布时间】:2017-12-05 05:52:47
【问题描述】:
我被 Openshift (Origin) 卡住了,需要一些帮助。
假设我想通过 CLI 将 grafana 部署添加到新启动的集群。
我做什么:
-
将模板上传到我的 openshift 集群(oc create -f openshift-grafana.yml)
-
从 docker hub 拉取必要的镜像(oc import-image --confirm grafana/grafana)
-
基于我的模板构建一个新应用(oc new-app grafana)
这些步骤会创建部署配置和路由。 但后来我无法通过 CLI 开始部署。
# oc deploy grafana
grafana deployment #1 waiting on image or update
# oc rollout latest grafana
Error from server (BadRequest): cannot trigger a deployment for "grafana" because it contains unresolved imagesenter code here
在 openshift web 控制台中它看起来像这样:
图像在那里,甚至链接都在工作。在 Web 控制台中,我可以单击“部署”并且它正在工作。但尽管如此,我还是无法通过命令行推出新版本。
唯一可行的方法是编辑部署 yml,以便 openshift 识别更改并根据“配置更改”启动部署(提示:我没有更改图像或图像名称)
我的模板没有什么特别之处,它只是通过 oc export 从工作配置中导出。
任何提示将不胜感激,我几乎被卡住了。 谢谢。
【问题讨论】:
-
创建的资源列表是什么?使用
oc get all。发生什么事件?使用oc get events。您使用的原始openshift-grafana.yml模板在哪里找到? -
图像流是从哪里来的?该模板不会为 grafana 创建图像流。如果我正在构建一个模板,我会让它创建图像流以触发图像的导入。我担心,由于您已经单独拥有一个名为 grafana 的图像流,因此它会在某种程度上与模板中直接从 Docker Hub 中使用 grafana 图像产生冲突。
-
@GrahamDumpleton 感谢您的提示,但它不起作用。我已经在我的模板中添加了一个图像流规范。现在,一旦我执行
oc new-app,grafana 图像就会被拉取,但结果相同updated_template -
请注意,您不能按原样使用
oc export --as-template输出,它需要按摩。它出错的一件事是它如何引用内部图像注册表。给我一点时间,我会更正你的模板。
标签: openshift openshift-origin