ansible - Rundeck 通过 REST API 控制 Proxmox
问题描述
我对使用 Docker 安装的 Rundeck 完全陌生。我的目标是使用其 API 控制 Proxmox 集群。我怎样才能做到这一点?也许与 Ansible?你对我有指点吗?
提前致谢
问候
解决方案
Ansible 不是必需的。您可以使用HTTP Workflow step插件创建一个工作流,将API请求发送到您的 Proxmox 主机(从此处下载jar 文件并将其放在 libext 目录中或使用插件管理器安装它 [齿轮图标 > 插件 > 查找插件 >搜索“HTTP Workflow Step”并点击“Install”按钮],无需重启实例)。
或者,您可以使用 Proxmox API 直接使用cURL调用的脚本步骤创建工作流。此外,您可以使用语法将选项动态传递给脚本步骤(例如,传递选项列表中的操作)。@option.myoption@
我留下了一个作业定义示例,其中包含两种方法(使用httpbin.org服务并将几个选项传递给这两个步骤)。
<joblist>
<job>
<context>
<options preserveOrder='true'>
<option name='action' value='anything' />
<option name='host' value='httpbin.org' />
</options>
</context>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>da60f0f8-d3d1-4f6d-b01e-704e00fa2ae8</id>
<loglevel>INFO</loglevel>
<name>APICallExample</name>
<nodeFilterEditable>false</nodeFilterEditable>
<plugins />
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<description>Example using http workflow step plugin</description>
<step-plugin type='edu.ohio.ais.rundeck.HttpWorkflowStepPlugin'>
<configuration>
<entry key='authentication' value='None' />
<entry key='checkResponseCode' value='true' />
<entry key='headers' value='{"Accept": "application/json"}' />
<entry key='method' value='POST' />
<entry key='printResponse' value='true' />
<entry key='printResponseToFile' value='false' />
<entry key='proxySettings' value='false' />
<entry key='remoteUrl' value='https://${option.host}/${option.action}' />
<entry key='responseCode' value='200' />
<entry key='sslVerify' value='false' />
<entry key='timeout' value='30000' />
</configuration>
</step-plugin>
</command>
<command>
<description>Example using script-step</description>
<fileExtension>.sh</fileExtension>
<script><![CDATA[curl -X POST "https://@option.host@/@option.action@" -H "accept: application/json"]]></script>
<scriptargs />
<scriptinterpreter>/bin/bash</scriptinterpreter>
</command>
</sequence>
<uuid>da60f0f8-d3d1-4f6d-b01e-704e00fa2ae8</uuid>
</job>
</joblist>
推荐阅读
- wso2 - benefit to putting conditional in JOIN ON or Filter criteria
- python - 设备孪生报告的属性未使用 python sdk 正确更新
- sql-server - 为什么我在尝试创建此数据库时不断收到此查询错误?
- php - 使 html 表单文本字段成为必需
- ffmpeg - 如何在导出时强制“全范围”标志
- r - write.table() 附加参数
- python - 如何检查 numpy 数组中的字母是否在高级拼贴中?
- python - 是否可以在不更改源代码的情况下使用 pylint 忽略单个特定行?
- angularjs - 如何使用 ng-repeat 以角度自动选择第一个元素?
- python - 收到有关 fork 与 MPI 不兼容的警告。什么情况下可以忽略?