我正在自动化一些使用openshift 3.5的连续交付过程。它们在命令行中运行良好,但我几乎找不到oc命令如何映射到OCP REST的任何文档。我已经弄清楚了如何与API对话,并使用它直接提供的内容。例如,我有一行:
oc process build-template -p APPLICATION_NAME=worldcontrol -n openshift | oc create -f - -n conspiracyspace这将从"openshift“命名空间中获取一个名为”build“的模板,并对其进行处理,通过管道将结果定义用于构建像应用程序映像这样的几个对象,并将其转换为另一个命名空间。我想举一个例子,说明如何用http请求术语来表达这一点。
编辑
按照格雷厄姆的暗示,这是我得到的。第一个请求是获取模板的内容:
curl -k -v -XGET -H "User-Agent: oc/v3.5.5.15 (linux/amd64) openshift/4b5f317" -H "Authorization: Bearer ...." -H "Accept: application/json, */*" https://example.com/oapi/v1/namespaces/openshift/templates/build-template然后,显然oc客户端在内部扩展参数,并将结果输入POST:
curl -k -v -XPOST -H "Content-Type: application/json" -H "User-Agent: oc/v3.5.5.15 (linux/amd64) openshift/4b5f317" -H "Accept: application/json, */*" -H "Authorization: Bearer ...." https://example.com/oapi/v1/namespaces/openshift/processedtemplates发布于 2017-06-30 21:33:57
使用选项oc运行--loglevel=10命令。这将向您展示它在下面调用什么REST,因此您可以计算出使用REST做同样的事情需要做些什么。请注意,某些事情可以在oc客户机中部分完成,而不是委托给REST端点调用。
发布于 2017-11-17 23:18:02
我这样做了,在CLI输出的最后,我看到了以下内容:
service "trade4-65869977-9d56-49a5-afa2-4a547df82d5c" created
deploymentconfig "trade4-65869977-9d56-49a5-afa2-4a547df82d5c" created当管道到oc create -f -时,CLI必须检查生成的模板,并在objects数组中创建每个对象。除了两个“创建”语句之外,没有将这些调用的证据输出到我的命令窗口。
因此,要通过REST完全自动化,我们仍然需要解析processtemplates返回的对象数组并将其发送到适当的端点,对吗?
https://stackoverflow.com/questions/44845446
复制相似问题