4.2. Operator 企业拓扑
企业拓扑主要用于需要 Ansible Automation Platform 部署,具有冗余或更高的计算以实现大量自动化。
4.2.1. 基础架构拓扑
下图显示了红帽已经测试过此部署模型的基础架构拓扑,供客户在自我管理 Ansible Automation Platform 时使用:
图 4.2. 基础架构拓扑图
| 数量 | 组件 |
|---|---|
|
自动化控制器 Web pod 自动化控制器任务 pod Automation hub API pod Automation hub 内容 pod Automation hub worker pod Automation hub Redis pod event-Driven Ansible API pod event-Driven Ansible 激活 worker pod event-Driven Ansible 默认 worker pod event-Driven Ansible 事件流 pod event-Driven Ansible 调度程序 pod 平台网关 pod Mesh ingress pod 外部管理的数据库服务 外部管理的 Redis 外部管理的对象存储服务(用于自动化中心) |
4.2.2. 测试的系统配置
红帽已测试了以下配置来安装和运行 Red Hat Ansible Automation Platform:
| 类型 | 描述 |
|---|---|
|
有效的 Red Hat Ansible Automation Platform 订阅 Red Hat Enterprise Linux 9.2 或更高版本的 Red Hat Enterprise Linux 9 次版本 CPU 架构 x86_64, AArch64, s390x (IBM Z), ppc64le (IBM Power) Red Hat OpenShift Red Hat OpenShift on AWS Hosted Control Planes 4.15.16 在 t3.xlarge 的不同可用区(AZ)中的 2 个 worker 节点 ansible-core ansible-core 版本 2.16 或更高版本 当前支持的 Mozilla Firefox 或 Google Chrome 版本。 AWS RDS PostgreSQL 服务 引擎:"postgres" engine_version: 15" parameter_group_name: "default.postgres15" allocated_storage: 20 max_allocated_storage: 1000 storage_type: "gp2" storage_encrypted: true instance_class: "db.t4g.small" multi_az: true backup_retention_period: 5 数据库:必须有 ICU 支持 AWS Memcached Service 引擎:"redis" engine_version: "6.2" auto_minor_version_upgrade: "false" node_type: "cache.t3.micro" parameter_group_name: "default.redis6.x.cluster.on" transit_encryption_enabled: "true" num_node_groups: 2 replicas_per_node_group: 1 automatic_failover_enabled: true s3 存储 HTTPS 只能通过使用 AWS Pod Identity 在运行时分配给自动化中心 SA 的 AWS 角色访问 |
4.2.3. 自定义资源文件示例
有关此拓扑的 CR 文件示例,请参阅
test-topologies
GitHub 存储库中的
ocp-b.env-a
目录。
4.2.4. 非功能要求
Ansible Automation Platform 的性能特性和容量受到资源分配和配置的影响。使用 OpenShift 时,每个 Ansible Automation Platform 组件都部署为 pod。您可以为每个 pod 指定资源请求和限值。
使用 Ansible Automation Platform 自定义资源为 OpenShift 安装配置资源分配。每个可配置的项目都有默认设置。这些设置是本参考部署架构上下文中所使用的确切配置,假设环境由企业 IT 组织部署和管理,用于生产目的。
默认情况下,每个组件的部署会针对最小资源请求设置,但不会设置资源限值。OpenShift 仅调度带有可用资源请求的 pod,但 pod 允许消耗无限的 RAM 或 CPU,只要 OpenShift 工作程序节点本身不在节点压力下。
在 Operator 企业拓扑中,Ansible Automation Platform 部署到带有 2 t3.xlarge worker 节点的 Red Hat OpenShift on AWS (ROSA) Hosted Control Plane (HCP)集群,在单个 AWS 区域内分布在 2 个 AZ 中。这并不是一个共享的环境,因此 Ansible Automation Platform pod 可以完全访问 ROSA HCP 集群的所有计算资源。在这种情况下,自动化控制器任务 pod 的容量计算派生自运行 pod 的底层 HCP worker 节点。它无法访问整个节点的 CPU 或内存资源。此容量计算会影响自动化控制器可以运行的并发作业数量。
OpenShift 管理与虚拟机不同的存储。这会影响自动化中心存储其工件的方式。在 Operator 企业拓扑中,我们使用 S3 存储,因为自动化中心需要一个
ReadWriteMany
类型存储,这不是 OpenShift 中的默认存储类型。外部为自动化中心提供 Redis、PostgreSQL 和对象存储。这为 Ansible Automation Platform 部署提供了额外的可扩展性和可靠性功能,包括特殊的备份、恢复以及复制服务和可扩展存储。
4.2.5. 网络端口
Red Hat Ansible Automation Platform 使用多个端口与其服务进行通信。这些端口必须处于打开状态,并可用于 Red Hat Ansible Automation Platform 服务器的传入连接,以便它正常工作。确保这些端口可用,且服务器防火墙不会阻止。
| 端口号 | 协议 | 服务 | Source | 目的地 |
|---|---|---|---|---|
|
80/443 HTTP/HTTPS OpenShift Container Platform 集群 外部对象存储服务 80/443 HTTP/HTTPS Receptor OpenShift Container Platform ingress 80/443 HTTP/HTTPS Receptor hop 节点 OpenShift Container Platform ingress PostgreSQL OpenShift Container Platform 集群 外部数据库服务 Redis OpenShift Container Platform 集群 外部 Redis 服务 27199 Receptor OpenShift Container Platform 集群 27199 Receptor OpenShift Container Platform 集群 |