第 4 章 Operator 拓扑
Ansible Automation Platform Operator 使用 Red Hat OpenShift Operator 在 Red Hat OpenShift 中部署 Ansible Automation Platform。客户管理产品和基础架构生命周期。
您只能将 Ansible Automation Platform Operator 的单一实例安装到单个命名空间中。在同一命名空间中安装多个实例可能会导致两个 Operator 实例都不正确的操作。
4.1. Operator 增长拓扑
增长拓扑适用于开始使用 Ansible Automation Platform 的组织,不需要冗余或更高的计算来实现大量自动化。此拓扑允许较小的占用空间部署。
4.1.1. 基础架构拓扑
下图显示了红帽已经测试过此部署模型的基础架构拓扑,供客户在自我管理 Ansible Automation Platform 时使用:
图 4.1. 基础架构拓扑图
单一节点 OpenShift (SNO)集群已使用以下要求进行测试:32 GB RAM、16 个 CPU、128 GB 本地磁盘和 3000 IOPS。
数量 | 组件 |
---|---|
1 | 自动化控制器 Web pod |
1 | 自动化控制器任务 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 |
4.1.2. 测试的系统配置
红帽已测试了以下配置来安装和运行 Red Hat Ansible Automation Platform:
类型 | 描述 |
---|---|
订阅 | 有效的 Red Hat Ansible Automation Platform 订阅 |
操作系统 | Red Hat Enterprise Linux 9.2 或更高版本 x86_64 和 AArch64 |
Red Hat OpenShift |
|
ansible-core | ansible-core 版本 2.16 或更高版本 |
浏览器 | 当前支持的 Mozilla Firefox 或 Google Chrome 版本。 |
数据库 | PostgreSQL 15 |
4.1.3. 自定义资源文件示例
使用以下示例自定义资源(CR)将 Ansible Automation Platform 实例添加到项目中:
apiVersion: aap.ansible.com/v1alpha1 kind: AnsibleAutomationPlatform metadata: name: <aap instance name> spec: eda: automation_server_ssl_verify: 'no' hub: storage_type: 's3' object_storage_s3_secret: '<name of the Secret resource holding s3 configuration>'
4.1.4. 非功能要求
Ansible Automation Platform 的性能特性和容量受到资源分配和配置的影响。使用 OpenShift 时,每个 Ansible Automation Platform 组件都部署为 pod。您可以为每个 pod 指定资源请求和限值。
使用 Ansible Automation Platform 自定义资源(CR)为 OpenShift 安装配置资源分配。每个可配置的项目都有默认设置。这些设置是安装的最低要求,但可能无法满足您的生产工作负载需求。
默认情况下,每个组件的部署会针对最小资源请求设置,但不会设置资源限值。OpenShift 仅调度带有可用资源请求的 pod,但 pod 允许消耗无限的 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 | 目的地 |
---|---|---|---|---|
27199 | TCP | Receptor | OpenShift Container Platform 集群 | 执行节点 |
27199 | TCP | Receptor | OpenShift Container Platform 集群 | hop 节点 |
443 | HTTPS | Receptor | 执行节点 | OpenShift Container Platform ingress |
443 | HTTPS | Receptor | hop 节点 | OpenShift Container Platform ingress |
443 | HTTPS | 平台 | 客户客户端 | OpenShift Container Platform ingress |