扩展网格只能在 Ansible Automation Platform 的 Openshift 部署中进行,可通过 automation controller 用户界面的 Instances 资源动态添加或删除集群中的节点,而无需运行安装脚本。
在继续操作前,请确定您具有 RHEL 虚拟机的最低要求。详情请参阅 Red Hat Ansible Automation Platform system requirements。
RHEL 节点需要被正确订阅:
RHEL 订阅并启用了 baseos 和 appstream 软件仓库启
Ansible Automation Platform 订阅并启用了正确的 Ansible Automation Platform 频道:
ansible-automation-platform-2.3-for-rhel-8-x86_64-rpms for RHEL 8 ansible-automation-platform-2.3-for-rhel-9-x86_64-rpms for RHEL 9
The system that is going to run the ansible-playbook
requires the collection ansible.receptor
to be installed:
If machine has access to the internet:
ansible-galaxy install -r requirements.ymlInstalling the receptor collection dependency from the
requirements.yml
file will consistently retrieve the receptor version specified there, as well as any other collection dependencies that may be needed in the future.
If machine does not have access to the internet, refer to Downloading a collection from Automation Hub to configure Automation Hub in Ansible Galaxy locally.
如果您使用默认 execution environment (由控制器提供)在远程执行节点上运行,您必须在包含拉取 execution environment 镜像的控制器中添加 pull secret。为此,在 Ansible Automation Controller 命名空间中创建一个 pull secret,并在 Operator 中配置 ee_pull_credentials_secret
参数:
1. Create a secret:
oc create secret generic ee-pull-secret \ --from-literal=username=<username> \ --from-literal=password=<password> \ --from-literal=url=registry.redhat.iooc edit automationcontrollers <instance name>2. Add
ee_pull_credentials_secret ee-pull-secret
to the spec:spec.ee_pull_credentials_secret=ee-pull-secret
在左侧的导航菜单中点 Instances 访问实例列表。
实例列表显示拓扑中的所有当前节点,以及相关详情:
Host Name
Status 表示节点的状态:
Installed:节点已被成功安装和配置,但还没有通过定期的健康检查
Ready:节点可以运行作业或在网格的节点间路由网络数据。这替代了以前在网格拓扑中使用的 "Healthy" 节点状态
Provisioning:节点正处于加入到一个当前网格的过程中,它正在等待作业安装所有软件包(目前还不被支持,可能在以后的版本中有所变化)
Deprovisioning:节点正处于从当前网格中删除的过程,并完成当前运行的作业
Unavailable:节点没有通过最当前的健康检查,代表存在连接性或与 receptor 相关的问题
Provisioning Failure:节点在置备过程中失败(当前还不支持且可能在以后的版本中有所变化)
De-provisioning Failure:节点在取消置备过程中失败(当前还不支持且可能在以后的版本中有所变化)
Node Type 指定节点是控制节点、混合节点、跃点节点或执行节点。如需更多详情,请参阅 node。
Capacity Adjustment 允许您调整节点中的 fork 数量
Used Capacity 表示已使用的容量
Actions 允许您启用或禁用实例来控制是否可以为其分配作业
通过这个页面,您可以在节点上添加、删除或运行健康检查。使用实例旁边的复选框来选择它以删除或运行健康检查。当按钮显示为灰掉时,代表您没有该特定操作的权限。请联系您的管理员以获取所需的访问级别。如果您可以删除一个实例,则会看到一个确认信息,如下所示:
注解
您仍然可以删除实例,即使它处于活动状态并且有作业正在其中运行。在实际删除之前,控制器将尝试等待该节点上运行的任何作业完成。
点 Remove 进行确认。
如果在一个实例上运行健康检查,Details 页面的顶部会显示健康检查正在进行的信息。
点 Reload 刷新实例状态。
注解
健康检查异步运行,并且可能最多需要一分钟来更新实例的状态,即使进行了刷新。在健康检查后,状态可能会有变化也可能没有变化。在 Details 页面的底部,如果健康检查任务当前正在运行,在最后一次已知的健康检查日期和时间戳旁会显示一个计数器图标。
示例健康检查显示节点"one"的状态被更新并存在一个错误:
扩展容量的一种方法是,创建一个实例,它将充当拓扑中的一个节点。
从左侧导航菜单中点 Instances。
在 Instances 列表视图中,点 Add 按钮并打开 Create new Instance 窗口。
一个实例会包括多个可以进行配置的属性:
Enter a fully qualified domain name (ping-able DNS) or IP address for your instance in the Host Name field (required). This field is equivalent to hostname
in the API.
对实例输入 Description 信息(可选)
Instance State 字段已自动填充,表示它正在安装,且无法修改
Listener Port 是使用最佳端口预先填充的,但您可以将端口改为更适合您的配置的端口。此字段等同于 API 中的 listener_port
。
Instance Type 字段是自动填充的且无法修改。目前只能创建执行节点。
选中 Enable Instance 复选框,使作业可以在其中运行
配置属性后,点 Save 继续操作。
创建成功后,创建的实例的 Details 将打开。
注解
继续进行步骤 4-8 旨在从任何可以通过 SSH 访问新创建实例的计算机中运行。它不应该从属于 AAP 部署一部分的机器运行。
点 Install Bundle 字段旁边的下载按钮下载包含这个新实例的 tarball,以及与将节点安装到网格相关的文件。
从您下载的位置中展开下载的 tar.gz
文件。安装捆绑包会包含要在安装过程中使用的 yaml 文件、证书和密钥。
在运行 ansible-playbook
命令前,编辑 inventory.yml
文件中的以下字段:
ansible_user
,运行安装的用户名
ansible_ssh_private_key_file
包含用于连接实例的私钥的文件名
---
all:
hosts:
remote-execution:
ansible_host: 18.206.206.34
ansible_user: <username> # user provided
ansible_ssh_private_key_file: ~/.ssh/id_rsa
inventory.yml
文件的内容可作为一个模板,其中包含在网格拓扑中安装和配置 receptor 节点期间应用的角色的变量。您可以修改其中的一些字段,或使用整个文件。有关各个变量的更多信息,请参阅 Role Variables。
保存文件以继续。
在您要更新网格的机器上运行以下命令:
ansible-playbook -i inventory.yml install_receptor.yml
要查看同一拓扑中的其他实例,请点与控制节点关联的 Peers 标签页。
注解
此时,您只能查看 control plane 节点的对等点(即执行节点)。由于在这个发行版本中创建执行节点有限制,您将无法创建或查看执行节点的对等点。
您可以在 Details 页中选择节点并点 Run health check 按钮来运行健康检查。
要查看更新的拓扑的图形表示,请参阅本指南的 拓扑视图 部分。