设置动作脚本服务器
浊 使用远程服务器来运行操作脚本。 远程管理流程意味着您不会在 Turbonomic 服务器上安装定制代码,这将消除其中的关联安全风险。 但是,您负责维护 操作脚本服务器 的安全性,以确保定制代码的完整性。 要完成此操作,远程服务器的配置必须满足特定需求。
服务器所需资源
远程服务器可以是 VM 或容器。 您为服务器配置的容量完全取决于您打算在其上运行的进程。 涡轮机 不会对服务器施加任何特殊资源需求。
配置命令执行
要支持脚本的执行,必须安装运行脚本所需的任何软件,包括库,语言处理器或脚本将调用的其他进程。
浊 将脚本作为服务器上的命令进行调用。 服务器必须运行您配置为支持命令执行和 SFTP 操作的 SSH 服务。 目前, Turbonomic 使用 OpenSSH sshd 守护进程测试动作脚本。
SSH 的标准端口为 22。 您可以配置其他端口,并为将服务器配置为操作脚本目标的管理员提供该端口。
操作脚本可以调用您在远程服务器上部署的任何进程。 您不必运行脚本; 但是,您必须能够从命令行调用进程。 脚本清单为 Turbonomic 提供了构建每个脚本的命令行调用所需的详细信息。
配置动作脚本用户账户
要在服务器上运行脚本,请使用有权从命令行运行脚本的用户帐户来登录 Turbonomic 。 在配置Action Script目标时,您需要提供用户凭据。 要支持此交互,用户帐户必须满足以下需求:
公钥
用户必须在
.ssh/authorized_keys文件中具有 RSA 公用密钥。 配置Action Script目标时,需要提供此值作为目标的专用令牌。注:要验证Action Script目标,
authorized_keys文件的权限必须设置为600。.ssh目录的安全性操作脚本用户应是唯一拥有授权访问权限的用户。 将文件许可权设置为
700。受支持的 Shell
动作脚本用户 shell 可以是 Bourne shell(通常位于
/bin/sh)或 Bourne-Again shell(通常位于/bin/bash)。 涡轮工程学 在调用脚本时传递参数。 此时它仅支持通过这些 shell 执行脚本。
动作脚本清单
Action ScriptManifest 是一个文件,其中声明了要向Turbonomic 公开的每个脚本的脚本对象数组。 您可以将清单创建为 JSON 或 YAML 文件。 您可以将清单文件保存到服务器上的任何位置,只要 Scripts 用户有权访问该位置,并且具有读取和执行特权。 清单的位置作为Action Script目标配置的一部分提供。
在 Turbonomic 验证目标之后,它将发现这些脚本并在 Orchestration Policy 用户界面中显示这些脚本。
有关详情,请参阅 部署动作脚本Manifest。
处理动作脚本超时
浊 将脚本执行限制为 30 分钟。 如果脚本超过此限制,那么 Turbonomic 将发送 SIGTERM 以停止进程的执行。
请注意, Turbonomic 不会进行任何其他尝试来结束进程。 例如,您可以实现该脚本,使其捕获 SIGTERM 并继续运行。 这一进程应以最快的安全机会结束。 但是,如果该过程未结束,那么必须实现某种方法以在 Turbonomic外部停止该过程。 失控进程继续使用其执行线程,如果池中没有更多线程,那么执行线程会阻止其他进程 (操作脚本或主进程)。