2017-06-30 53 views
2

我自动化了一些使用openshift 3.5的连续递送流程。他们从命令行工作得很好,但我几乎找不到任何有关oc命令如何映射到OCP REST API的文档。我已经想出了如何与API交谈并使用它直接提供的内容。举例来说,我有一句台词:什么是Openshift REST API等效的流程模板命令

oc process build-template -p APPLICATION_NAME=worldcontrol -n openshift | oc create -f - -n conspiracyspace 

这需要一个名为“建立模板”,从“openshift”命名模板,并对其进行处理,管道所产生的定义,建立一个像应用图像几个对象,进入另一个命名空间。我希望能够以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客户端扩展内部参数,并反馈结果进入后:

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 

回答

4

运行oc命令和选项--loglevel=10 。这将向您展示REST API在其下面调用的内容,因此您可以计算出只需使用REST API执行相同操作就可以做什么。请注意,某些事情可能部分在oc客户端完成,而不是委托给REST API端点调用。

0

我这样做,并在从CLI输出的尽头,我看到了这一点:

service "trade4-65869977-9d56-49a5-afa2-4a547df82d5c" created 
deploymentconfig "trade4-65869977-9d56-49a5-afa2-4a547df82d5c" created 

,当管到oc create -f -的话,CLI必须检查所产生的模板和创建的每个对象在对象数组中。除了两个“已创建”语句之外,没有将这些调用输出到我的命令窗口的证据。

因此,要通过REST API完全自动执行此操作,我们仍然需要将processtemplates和POST返回的对象数组解析为适当的端点,是否正确?

+0

你最好问一个新问题,而不是问一个问题的答案。在这个问题中,提供有关目前为止所做的更多完整的细节以及您需要的内容。 –

相关问题