第 4 章 Operator 拓扑
Ansible Automation Platform 为 OpenShift Container Platform 上的 Ansible Automation Platform 提供经过测试的拓扑。选择最适合基于 Operator 的部署要求的拓扑。
您只能将 Ansible Automation Platform Operator 的单一实例安装到单个命名空间中。在同一命名空间中安装多个实例可能会导致两个 Operator 实例都不正确的操作。
4.1. Operator 增长拓扑 复制链接链接已复制到粘贴板!
基于 Operator 的增长拓扑为在 Red Hat OpenShift Container Platform 上使用 Ansible Automation Platform 的组织提供较小的占用空间部署。包括经过测试的基础架构拓扑、系统要求、网络端口配置和示例自定义资源文件,用于安装。
4.1.1. 基础架构拓扑 复制链接链接已复制到粘贴板!
此部署模型的红帽测试的基础架构拓扑:
图 4.1. 基础架构拓扑图
虽然 Redis 和 PostgreSQL 可以作为基于 Operator 的安装过程的一部分安装,但拓扑图代表了红帽支持的拓扑,其中 Redis 和 PostgreSQL 都是 Ansible Automation Platform 外部的。
红帽会按照以下要求测试单一节点 OpenShift (SNO)集群:32 GB RAM、16 个 CPU、128 GB 本地磁盘和 3000 IOPS。
| 数量 | 组件 |
|---|---|
| 1 | 自动化控制器 Web pod |
| 1 | 自动化控制器任务 pod |
| 1 | Automation hub web pod |
| 1 | Automation hub API pod |
| 2 | Automation hub 内容 pod |
| 2 | Automation hub worker pod |
| 1 | Automation hub Redis pod |
| 1 | event-Driven Ansible API pod |
| 1 | event-Driven Ansible 激活 worker pod |
| 1 | event-Driven Ansible 默认 worker pod |
| 1 | event-Driven Ansible 事件流 pod |
| 1 | event-Driven Ansible 调度程序 pod |
| 1 | 平台网关 pod |
| 1 | 数据库 pod |
| 1 | Redis pod |
您可以将多个 Ansible Automation Platform 实例部署到同一 Red Hat OpenShift Container Platform 集群中。为此,请使用命名空间范围的部署模型(命名空间中的隔离)。
这种方法允许您将同一集群用于多个部署。
4.1.2. 测试的系统配置 复制链接链接已复制到粘贴板!
红帽已测试了这些配置来安装和运行 Red Hat Ansible Automation Platform:
| 类型 | 描述 |
|---|---|
| 订阅 | 有效的 Red Hat Ansible Automation Platform 订阅 |
| Red Hat OpenShift |
|
| ansible-core | ansible-core 版本 2.16 或更高版本 |
| 浏览器 | 当前支持的 Mozilla Firefox 或 Google Chrome 版本。 |
| 数据库 | PostgreSQL 15 |
4.1.3. 自定义资源文件示例 复制链接链接已复制到粘贴板!
使用此示例自定义资源(CR)将 Ansible Automation Platform 实例添加到项目中:
4.1.4. 非功能要求 复制链接链接已复制到粘贴板!
Ansible Automation Platform 的性能特性和容量取决于其资源分配和配置。使用 OpenShift 时,每个 Ansible Automation Platform 组件都会部署为 pod。您可以为每个 pod 指定资源请求和限值。
使用 Ansible Automation Platform 自定义资源(CR)为 OpenShift 安装配置资源分配。每个可配置的项目都有默认设置。这些设置是安装的最低要求,但可能无法满足您的生产工作负载需求。
默认情况下,每个组件的部署都使用最小资源请求,但没有资源限值。OpenShift 仅调度具有可用资源请求的容器集,但容器集可以消耗无限的 RAM 或 CPU,只要 OpenShift 工作程序节点本身不在节点压力下。
在 Operator 增长拓扑中,Ansible Automation Platform 在具有 32 GB RAM、16 个 CPU、128 GB 本地磁盘和 3000 IOPS 的单个节点 OpenShift (SNO)上运行。这并不是一个共享的环境,因此 Ansible Automation Platform pod 对 OpenShift SNO 的所有计算资源具有完全访问权限。在这种情况下,自动化控制器任务 pod 的容量计算来自运行 pod 的底层 OpenShift Container Platform 节点。它无法访问整个节点。此容量计算会影响自动化控制器可以运行的并发作业数量。
OpenShift 管理与虚拟机不同的存储。这会影响自动化中心存储其工件的方式。在 Operator 增长拓扑中,拓扑使用 S3 存储,因为自动化中心需要 ReadWriteMany 类型存储,这不是 OpenShift 中的默认存储类型。
4.1.5. 网络端口 复制链接链接已复制到粘贴板!
Red Hat Ansible Automation Platform 使用多个端口与其服务进行通信。这些端口必须处于打开状态,并可用于 Red Hat Ansible Automation Platform。确保这些端口可用,且防火墙不会阻止。
| 端口号 | 协议 | 服务 | Source | 目的地 |
|---|---|---|---|---|
| 80/443 | HTTP/HTTPS | Receptor | 执行节点 | OpenShift Container Platform ingress |
| 80/443 | HTTP/HTTPS | Receptor | hop 节点 | OpenShift Container Platform ingress |
| 80/443 | HTTP/HTTPS | 平台 | 客户客户端 | OpenShift Container Platform ingress |
| 27199 | TCP | Receptor | OpenShift Container Platform 集群 | 执行节点 |
| 27199 | TCP | Receptor | OpenShift Container Platform 集群 | hop 节点 |