3.2. 容器企业拓扑


企业拓扑主要用于需要 Ansible Automation Platform 部署,具有冗余或更高的计算以实现大量自动化。

3.2.1. 基础架构拓扑

下图显示了红帽已经测试过此部署模型的基础架构拓扑,供客户在自我管理 Ansible Automation Platform 时使用:

图 3.2. 基础架构拓扑图

容器企业拓扑图

每个虚拟机都已测试有以下组件要求:16 GB RAM、4 个 CPU、60 GB 本地磁盘和 3000 IOPS。

表 3.4. 基础架构拓扑
VM 数量用途VM 组名称示例

2

带有 colocated Redis 的平台网关

automationgateway

2

自动化控制器

automationcontroller

2

带有 colocated Redis 的私有自动化中心

automationhub

2

带有 colocated Redis 的 event-Driven Ansible

automationeda

1

自动化网格跃点节点

execution_nodes

2

自动化网格执行节点

execution_nodes

1

外部管理的数据库服务

N/A

1

平台网关前面的 HAProxy 负载均衡器(外部管理)

N/A

注意

兼容 Redis 高可用性(HA)部署需要 6 个虚拟机。Redis 可以在每个 Ansible Automation Platform 组件虚拟机上并置,但自动化控制器、执行节点或 PostgreSQL 数据库除外。

3.2.2. 测试的系统配置

红帽已测试了以下配置来安装和运行 Red Hat Ansible Automation Platform:

表 3.5. 测试的系统配置
类型描述

订阅

  • 有效的 Red Hat Ansible Automation Platform 订阅
  • 有效的 Red Hat Enterprise Linux 订阅(使用 BaseOS 和 AppStream 软件仓库)

操作系统

Red Hat Enterprise Linux 9.2 或更高版本

CPU 架构

x86_64, AArch64, s390x (IBM Z)

ansible-core

ansible-core 版本 2.16 或更高版本

浏览器

当前支持的 Mozilla Firefox 或 Google Chrome 版本。

数据库

PostgreSQL 15

3.2.3. 网络端口

Red Hat Ansible Automation Platform 使用多个端口与其服务进行通信。这些端口必须处于打开状态,并可用于 Red Hat Ansible Automation Platform 服务器的传入连接,以便它正常工作。确保这些端口可用,且服务器防火墙不会阻止。

表 3.6. 网络端口和协议
端口号协议服务Source目的地

80/443

TCP

HTTP/HTTPS

Event-Driven Ansible

Automation hub

80/443

TCP

HTTP/HTTPS

Event-Driven Ansible

自动化控制器

80/443

TCP

HTTP/HTTPS

自动化控制器

Automation hub

443

TCP

HTTPS

HAProxy 负载均衡器

平台网关

443

TCP

HTTPS

平台网关

自动化控制器

443

TCP

HTTPS

平台网关

Automation hub

443

TCP

HTTPS

平台网关

Event-Driven Ansible

5432

TCP

PostgreSQL

Event-Driven Ansible

外部数据库

5432

TCP

PostgreSQL

平台网关

外部数据库

5432

TCP

PostgreSQL

Automation hub

外部数据库

5432

TCP

PostgreSQL

自动化控制器

外部数据库

27199

TCP

Receptor

自动化控制器

hop 节点和执行节点

27199

TCP

Receptor

hop 节点

执行节点

6379

TCP

Redis

Event-Driven Ansible

Redis 节点

6379

TCP

Redis

平台网关

Redis 节点

16379

TCP

Redis

Redis 节点

Redis 节点

8433

TCP

HTTPS

平台网关

平台网关

50051

TCP

gRPC

平台网关

平台网关

3.2.4. 企业清单文件示例

使用示例清单文件为此拓扑执行安装:

# This is the Ansible Automation Platform enterprise installer inventory file
# Consult the docs if you are unsure what to add
# For all optional variables consult the included README.md
# or the Red Hat documentation:
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation

# This section is for your platform gateway hosts
# -----------------------------------------------------
[automationgateway]
gateway1.example.org
gateway2.example.org

# This section is for your automation controller hosts
# -----------------------------------------------------
[automationcontroller]
controller1.example.org
controller2.example.org

# This section is for your Ansible Automation Platform execution hosts
# -----------------------------------------------------
[execution_nodes]
hop1.example.org receptor_type='hop'
exec1.example.org
exec2.example.org

# This section is for your automation hub hosts
# -----------------------------------------------------
[automationhub]
hub1.example.org
hub2.example.org

# This section is for your Event-Driven Ansible controller hosts
# -----------------------------------------------------
[automationeda]
eda1.example.org
eda2.example.org

[redis]
gateway1.example.org
gateway2.example.org
hub1.example.org
hub2.example.org
eda1.example.org
eda2.example.org

[all:vars]

# Common variables
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-general-inventory-variables
# -----------------------------------------------------
postgresql_admin_username=<set your own>
postgresql_admin_password=<set your own>
registry_username=<your RHN username>
registry_password=<your RHN password>

# Platform gateway
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-gateway-variables
# -----------------------------------------------------
gateway_admin_password=<set your own>
gateway_pg_host=externaldb.example.org
gateway_pg_database=<set your own>
gateway_pg_username=<set your own>
gateway_pg_password=<set your own>

# Automation controller
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-controller-variables
# -----------------------------------------------------
controller_admin_password=<set your own>
controller_pg_host=externaldb.example.org
controller_pg_database=<set your own>
controller_pg_username=<set your own>
controller_pg_password=<set your own>

# Automation hub
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-hub-variables
# -----------------------------------------------------
hub_admin_password=<set your own>
hub_pg_host=externaldb.example.org
hub_pg_database=<set your own>
hub_pg_username=<set your own>
hub_pg_password=<set your own>

# Event-Driven Ansible controller
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#event-driven-ansible-controller
# -----------------------------------------------------
eda_admin_password=<set your own>
eda_pg_host=externaldb.example.org
eda_pg_database=<set your own>
eda_pg_username=<set your own>
eda_pg_password=<set your own>

3.2.5. 存储要求

  • 执行环境拉取到运行作业的自动化控制器混合节点和执行节点中。这些容器的大小会影响 $PATH_WHERE_PODMAN_PUTS_CONTAINER_IMAGES 的存储要求。
  • 数据库及其存储卷的大小的主要决定因素,默认为 $POSTGRES_DEFAULT_DATA_DIR

    • 作业事件数量(自动化控制器作业的输出行)
    • 保留的作业数据的天数
  • 在执行节点和自动化控制器控制和混合节点上,作业输出将被缓冲为 $NAME_OF_RECEPTOR_DIR_VAR 中的磁盘,默认为 /tmp
  • 同步到自动化中心的集合大小和数量会影响 $PATH_WHERE_PULP_STORES_COLLECTIONS 的存储要求。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.