19.4. 管理实例


要扩展作业容量,请创建一个可以添加的独立 执行节点,与自动化控制器部署一起运行。这些执行节点不是自动化控制器 Kubernetes 集群的一部分。

控制节点在集群连接中运行,并通过 Receptor 向执行节点提交工作。

这些执行节点在自动化控制器中注册为类型 执行 实例,这意味着它们仅用于运行作业,而不是分配工作或作为控制节点处理 Web 请求。

重要

在创建执行节点时,请确保执行节点上的系统时区与自动化控制器上的 settings.TIME_ZONE (默认为 'UTC')匹配。事实缓存依赖于工件文件的修改时间,这些修改的时间不是对时区感知的。因此,执行节点的时区与自动化控制器的时区设置匹配至关重要。

跃点节点 可以添加到自动化控制器和独立执行节点的 control plane 之间。这些跃点节点不是 Kubernetes 集群的一部分,并在自动化控制器中注册,作为类型跃点( hop )的实例,这意味着它们只会处理不同或更严格的网络中的入站和出站流量。

以下流程演示了如何为主机设置节点类型。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Instances
  2. Instances 列表页面中,单击 Add instance。此时会打开 Add Instance 窗口。

    创建新实例

    实例需要以下属性:

    • 主机名 :(必需)为您的实例输入完全限定域名(公共 DNS)或 IP 地址。此字段等同于基于安装程序部署 的主机名

      注意

      如果实例使用无法从控制集群解析的私有 DNS,DNS 查找路由会失败,并且生成的 SSL 证书无效。改为使用 IP 地址。

    • 可选: 描述 :输入实例的描述。
    • 实例状态 :此字段是自动填充的,表示它正在安装,且无法修改。
    • 监听器端口 :此端口用于 receptor 侦听进入的连接。您可以将端口设置为适合您的配置的端口。此字段等同于 API 中的 listener_port。默认值为 27199,但您可以设置自己的端口值。
    • 实例类型 :只能创建 executionhop 节点。基于 Operator 的部署不支持控制或混合节点。

      选项:

      • 启用实例 :选中此框,使它可用于在执行节点上运行。
      • 选中 Managed by policy 复选框,以启用策略来确定如何分配实例。
      • 来自控制节点的对等点

        • 如果要配置跃点节点:

          • 如果跃点节点需要直接从自动化控制器推送请求,请选中 Peers from Control 复选框。
          • 如果跃点节点与另一个跃点节点对等,则确保未 检查来自 Control 的 Peers
        • 如果要配置执行节点:

          • 如果执行节点需要直接从自动化控制器推送请求,请选中 Peers from Control 复选框。
          • 如果执行节点与跃点节点对等,则确保未 检查来自 Control 的 Peers
  3. 单击 关联对等点
  4. 要查看更新拓扑的图形表示,请参阅 Topology 视图

    注意

    从任何可通过 SSH 访问新创建的实例的计算机完成以下步骤。

  5. Download Bundle 旁边的 Download 图标下载包含这个新实例的 tar 文件,以及将创建的节点安装到自动化网格所需的文件。

    安装捆绑包具有 TLS 证书和密钥、证书颁发机构和正确的 Receptor 配置文件。

    receptor-ca.crt
    work-public-key.pem
    receptor.key
    install_receptor.yml
    inventory.yml
    group_vars/all.yml
    requirements.yml
  6. 从您下载的位置中提取下载的 tar.gz Install Bundle。为确保这些文件位于远程机器上的正确位置,安装捆绑包包含 install_receptor.yml playbook。
  7. 在运行 ansible-playbook 命令前,请编辑 inventory.yml 文件中的以下字段:

    all:
      hosts:
        remote-execution:
          ansible_host: localhost # change to the mesh node host name
              ansible_user: <username> # user provided
              ansible_ssh_private_key_file: ~/.ssh/<id_rsa>
    • 确保 ansible_host 设置为节点的 IP 地址或 DNS。
    • ansible_user 设置为运行安装的用户名。
    • ansible_ssh_private_key_file 设置为包含用于连接实例的私钥的文件名。
    • inventory.yml 文件的内容充当模板,其中包含在网格拓扑中安装和配置 receptor 节点期间应用的角色的变量。您可以修改一些其他字段,或者在高级场景中完全替换该文件。如需更多信息,请参阅 角色变量
  8. 对于使用私有 DNS 的节点,请将以下行添加到 inventory.yml 中:

     ansible_ssh_common_args: <your ssh ProxyCommand setting>

    这指示 install-receptor.yml playbook 使用 proxy 命令通过本地 DNS 节点连接到私有节点。

  9. 配置属性后,单击 Save。所创建的实例的 Details 页面将打开。
  10. 保存文件以继续。
  11. 运行安装捆绑包的系统来设置远程节点并运行 ansible-playbook 需要安装 ansible.receptor 集合:

    ansible-galaxy collection install ansible.receptor

    或者

    ansible-galaxy install -r requirements.yml
    • requirements.yml 文件安装 receptor 集合依赖项会持续检索指定的 receptor 版本。另外,它会检索将来可能需要的任何其他集合依赖项。
    • 在运行 playbook 的所有节点上安装 receptor 集合,否则会出现错误。
  12. 如果定义了 receptor_listener_port,机器还需要一个可用的开放端口来建立入站 TCP 连接,例如 27199。运行以下命令,为 receptor 通信打开端口 27199 (确保您在防火墙中打开端口 27199):

    sudo firewall-cmd --permanent --zone=public --add-port=27199/tcp
  13. 在您要更新自动化网格的机器上运行以下 playbook:
ansible-playbook -i inventory.yml install_receptor.yml

+

注意

此 playbook 需要 openssl。您可以运行以下命令来安装它:

openssl -v

如果返回,则会安装版本 OpenSSL。否则,您需要使用以下内容安装 OpenSSL:

sudo dnf install -y openssl

+ 此 playbook 运行后,您的自动化网格会被配置。

实例列表视图
注意

可能是有些服务器没有侦听 receptor 端口(默认为 27199)

假设您有一个带有节点 A、B 和 C 的 Control plane

以下是三个控制器节点的对等设置:

Controller 节点 A -→ Controller 节点 B

Controller 节点 A -→ Controller 节点 C

Controller 节点 B -→ Controller 节点 C

您可以通过设置强制监听程序

receptor_listener=True

但是,连接 Controller B -→ A 可能会被拒绝,因为连接已存在。

这意味着没有连接到 Controller A,因为 Controller A 会创建与其他节点的连接,以下命令不会在 Controller A 上返回任何内容:

[root@controller1 ~]# ss -ntlp | grep 27199 [root@controller1 ~]#

RPM 安装程序使用最低特权方法在 control plane 节点之间创建高度连接的对等点,并仅在需要它的那些节点上打开 tcp 侦听器。所有 receptor 连接都是双向的,因此在创建连接后,receptor 可以在两个方向通信。

要从网格中删除实例,请参阅 删除实例。r

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部