设置动作脚本服务器

使用远程服务器来运行操作脚本。 远程管理流程意味着您不会在 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外部停止该过程。 失控进程继续使用其执行线程,如果池中没有更多线程,那么执行线程会阻止其他进程 (操作脚本或主进程)。