19.4. 管理实例


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

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

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

跃点节点 可以添加到自动化控制器和独立执行节点的 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
    Copy to Clipboard Toggle word wrap
  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>
    Copy to Clipboard Toggle word wrap
    • 确保 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>
    Copy to Clipboard Toggle word wrap

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

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

    ansible-galaxy collection install ansible.receptor
    Copy to Clipboard Toggle word wrap

    或者

    ansible-galaxy install -r requirements.yml
    Copy to Clipboard Toggle word wrap
    • 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
    Copy to Clipboard Toggle word wrap
  13. 在您要更新自动化网格的机器上运行以下 playbook:
ansible-playbook -i inventory.yml install_receptor.yml
Copy to Clipboard Toggle word wrap

+

注意

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

openssl -v
Copy to Clipboard Toggle word wrap

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

sudo dnf install -y openssl
Copy to Clipboard Toggle word wrap

+ 此 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

© 2025 Red Hat