《OpenShift / RHEL / DevSecOps / Ansible 汇总目录》
红帽 Ansible Automation Platform(简称 AAP)是取代原有红帽 Ansible Tower 的新一代 IT 自动化平台。在运维管理能力方面,它延续并扩展了 Ansible Tower 具备的广泛自动化运维管理能力,可以对各类云以及边缘环境中的主机、网络、安全进行自动化的管理、配置、运维。
AAP 为自动化运维的开发和运行阶段提供了相应的各项功能,从而使得 AAP 能够成为一个自动化运维的生态环境。
以下组件是运行 AAP 自动化脚本的核心基础组件。
Ansible Core 就是 ansible 可执行程序,目前 2.9 版本需要依赖 Python 3.8 运行。
Content Collection 是 Ansible 执行自动化操作所依赖的 Playbook、Role、Module 和 Plugin 的集合,Collection 规定了组织这些内容的格式。用户可以使用 RedHat 认证的数量众多的 Collection (说明见 https://docs.ansible.com/ansible/latest/collections/),也可以开发自己的 Collection,并让别人使用它。
Ansible Execution Environment 简称 EE,它是 ansible 程序的运行环境。在 AAP 的生产环境中 ansible 程序是运行在容器环境了。因此 EE 就是由 Ansible Core + Python 构成的容器镜像。虽然我们还可以直接运行 ansible 程序以运行简单的 ad hoc 指令,但 Playbook、Role 都需要在 EE 中运行了。
红帽为 Ansible Execution Environment 提供了不同类型的官方容器镜像,用户也可以定制自己的 EE 镜像。
Ansible Automation Controller 就是以前的 Ansible Tower,它提供了基于 Web 的自动化运维集中执行和统一管理功能。
一个复杂的 AAP 运行环境还可包括以下组件:
Ansible Automation Hub 是发布、保存、查找、下载 Ansible Content Collection 的 Repository·中心。红帽向用户提供了官方的 Ansible Automation Hub 网站,用户也可在自己的环境中构建私有 Ansible Automation Hub。我们可以将 Automation Hub 视为 现有 Ansible Galaxy 的下游平台,因为 Ansible Galaxy 是一个完全开放的平台,而 Automation Hub 只包括了经过 RedHat 认证的更加稳定可靠的内容。
Automation Mesh 是一种覆盖网络,可在大型分散节点之间分配执行并简化扩展,使自动化执行更接近其所需要的端。Automation Mesh 支持控制和执行平面容量进行独立扩展、也支持灵活和容错的设计选项,同时还具有应对高延迟和连接中断的弹性。Automation Mesh 具备跨分段网络、多个地理位置和环境(如数据中心、云和边缘)扩展自动化的能力,为分布式、远程自动化部署提供了最大的灵活性。
开发环境相关组件提供了开发定制 EE 镜像的工具、以及开发测试 Playbook、Role 用到的工具。
Ansible Builder 是开发定制 EE 镜像的命令工具。
Ansible Navigator 是开发测试 Playbook、Role 的命令工具,它类似以前的 ansible-play 命令工具。ansible-navigator 命令不但提供的是基于文本的用户交互界面 (TUI),并且它是在本地的 EE 镜像容器中运行 Playbook、Role。