【问题标题】:How do you create a deployment configuration in OpenShift? Is it automatic for new-app based on a docker image?如何在 OpenShift 中创建部署配置?基于 docker 映像的新应用程序是否自动?
【发布时间】:2017-02-20 14:02:19
【问题描述】:

我正在创建一个基于图像流的新应用程序,该图像流对应于私有 OpenShift docker 注册表中的 docker 图像。命令是:

oc new-app mynamespace/my-image:latest -n=my-project

问题 1:此命令是否会自动创建可称为 dc/my-image 的部署配置 (dc)?此部署配置是否与my-project 关联?

问题 2:创建部署配置的 oc 命令是什么? OpenShift 开发人员指南中有一个标题为 Creating a Deployment Configuration 的部分,但令人惊讶的是,它没有说明如何创建 DC 或给出任何示例。它只显示一个 JSON 结构,并表示可以使用 oc 命令管理 DC。

【问题讨论】:

  • 几个月前我使用过 OpenShift,我知道它经常变化。但通常oc new-app 命令会创建一个 DC,其中包含 pod 的设置、复制控制器(或副本集)的设置以及容器(pod)上方的服务设置。因此,它将在正确的项目中创建一个 pod,上面有一个服务和一个 RC(放大/缩小)。您可以使用oc edit dc 检查或更改您的部署并添加特定的期货。 (或使用命令oc scale(按比例放大)来更改配置。您可以将 DC 导出为 .json/.yaml 并在 oc create 的其他地方重新创建它
  • 我最常用的方法是使用 oc new-app 并使用 oc expose svc 在服务上方创建路由,使用 oc scale 等更改 pod 的缩放比例,然后导出整个配置( DC) 作为 .yaml 或 .json。因此,执行手动步骤来创建您的最终 DC。一段时间后,您将更有经验,并且可能能够自己编写。我们存储了 .yaml 和 .json 文件,因此很容易使用 oc create -f our-dc.yaml 重新创建我们的设置

标签: openshift openshift-origin


【解决方案1】:

是的,您的命令将在指定项目中创建内容。您可以使用oc get 命令检查创建了哪些对象。即要检查您拥有哪些 DC,您可以使用 oc get dcoc get deploymentconfigs

其他有用的命令是oc describe - 类似于get,但更多信息。 oc status -v - 查看有关项目的更广泛信息,包括警告和错误。

您可以使用oc create 命令创建 DC 和任何其他资源类型。例如您从链接到的 URL 中复制示例 DC 并将其放入文件中。最后你做oc create -f mydc.yaml。支持 YAML 和 JSON。

如您所见,有些命令可以自行创建 DC,而无需向它们提供 YAML 或 JSON。您可以稍后使用oc edit service/my-app 修改现有资源。有适合编写脚本的oc patch 命令。

您可以看到现有资源 YAML 正在执行 oc get dc/myds -o yaml。与任何其他资源相同。请记住,您目前正在使用所需的项目或使用 -n 选项,就像您在示例中所做的那样。

一旦您了解了一些基础知识并学会使用oc describeoc logs 命令来调试图像/pod 的问题,这并不难。例如oc describe pod/my-app-1-asdfg, oc logs my-app-1-asdfg, oc logs -f dc/my-app.

HTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 2015-10-07
    • 2021-01-24
    相关资源
    最近更新 更多