自动化运维(二)Centos7 安装Ansible和Ansible AWX

news/2024/7/24 5:31:19 标签: 运维, 自动化, ansible

一、基础准备

安装Ansible和Ansible AWX所需要的硬件没有硬性规定,它的需求很大程度上取决于你打算如何使用它,例如管理的节点数量、执行的任务复杂性、并发作业的数量等。我们基于社区的经验和一般的最佳实践,可以给出一些基本的硬件配置建议。

最小硬件要求

  • CPU:至少 2 核
  • 内存:至少 4 GB RAM
  • 硬盘:至少 20 GB 可用空间

推荐硬件配置

对于中等负载的生产环境:

  • CPU:4 核或更多
  • 内存:8 GB RAM 或更多
  • 硬盘:至少 40 GB 可用空间,如果计划存储大量日志或使用较大的项目,则需要更多

其他考虑因素

  • 网络:确保有稳定和足够快的网络连接,特别是如果你的AWX将管理位于不同地理位置的节点。
  • 存储性能:考虑使用 SSD 而非 HDD,尤其是在数据库密集型的使用场景中,这可以显著提高性能。
  • 备份和恢复:确保有足够的存储空间用于备份AWX数据库和配置,以便于灾难恢复。

我们学习的时候可以配置出一个2核4G的虚拟机来安装,这里我们使用的操作系统是Centos7,使用最小安装,配置好固定IP地址,开通ssh服务,我们可以通过ssh工具远程管理这个虚拟机。我使用的远程ssh工具是SecureCRT。

二、安装Ansible

在CentOS 7上使用Python 3.8安装Ansible的步骤如下:

安装Python3.8

确保已经安装了Python 3.8。如果尚未安装,可以参考我之前写的博文《centos7 安装python3.8 保留原来的python2.7》。

创建虚拟环境

创建一个Python 3.8的虚拟环境(可选但推荐),虚拟环境可以隔离不同项目的依赖关系,避免与系统的Python环境冲突。

首先,安装python3-virtualenv包:

/usr/local/python3.8/bin/pip3.8 install virtualenv

然后,创建一个新的虚拟环境:

/usr/local/python3.8/bin/python3.8 -m virtualenv myenv

激活虚拟环境

source myenv/bin/activate

安装Ansible

使用pip命令安装Ansible:

pip install ansible

这将在虚拟环境中安装最新版本的Ansible及其依赖项。

验证Ansible

在虚拟环境中运行以下命令,检查Ansible的版本:

ansible --version

如果安装成功,将显示Ansible的版本信息。

三、安装Ansible AWX

以下是在CentOS 7上安装Ansible AWX的步骤:

安装必要的依赖项

sudo yum install -y epel-release
sudo yum install -y git gcc gcc-c++ nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip python3-devel

安装Docker

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker

安装Docker Compose

sudo pip3 install docker-compose

克隆AWX仓库

git clone https://github.com/ansible/awx.git
cd awx

安装AWX

sudo make docker-compose-build
sudo make docker-compose

创建管理员用户

sudo docker-compose exec awx-web /usr/bin/awx-manage createsuperuser

当然可以使用docker pull ansible/awx命令直接拉取官方的AWX镜像。这是一种更简单、更直接的安装AWX的方法,特别是当你不需要自定义构建过程时。

以下是使用官方AWX镜像安装AWX的步骤:

拉取AWX镜像:

docker pull ansible/awx

创建一个docker-compose.yml文件:

version: '3'
services:
  awx:
    image: ansible/awx
    container_name: awx
    ports:
      - "80:8052"
    volumes:
      - ./:/var/lib/awx
    environment:
      - DATABASE_NAME=awx
      - DATABASE_USER=awx
      - DATABASE_PASSWORD=awxpass
      - DATABASE_PORT=5432
      - DATABASE_HOST=postgres
  postgres:
    image: postgres:12
    container_name: postgres
    environment:
      - POSTGRES_DB=awx
      - POSTGRES_USER=awx
      - POSTGRES_PASSWORD=awxpass

启动AWX:

docker-compose up -d

创建管理员用户:

docker exec -it awx awx-manage createsuperuser

访问AWX Web界面:
在浏览器中访问http://<your-server-ip>:80,使用刚创建的管理员账号登录。

使用官方镜像的好处是,你不需要经历构建镜像的过程,也不需要处理构建过程中可能出现的问题。官方镜像已经包含了运行AWX所需的所有组件和依赖项。

然而,使用官方镜像也有一些限制。例如,你无法轻松地修改AWX的源代码或添加自定义插件。如果你需要这些自定义功能,你可能还是需要从源代码构建AWX。

在大多数情况下,使用官方镜像是一种更简单、更快速的安装AWX的方法,特别是当你刚开始使用AWX时。如果你遇到了使用官方镜像的问题,请提供详细的错误信息,以便进一步分析。


http://www.niftyadmin.cn/n/5466894.html

相关文章

Python-VBA编程500例-029(入门级)

连续字符段索引(Index of Consecutive Character Segments)在实际应用中具有多种场景。常见的应用场景有&#xff1a; 1、文本分析&#xff1a;在文本处理和分析中&#xff0c;连续字符段索引可以用于识别重复的字符序列或模式。这些模式可能对于理解文本的结构、风格或特定含…

armbian等linux系统修改fstab实现开机自动挂载磁盘(详解)

当 Linux 操作系统启动时&#xff0c;它会尝试挂载您的硬盘和其他存储设备上的分区。为了实现这一目标&#xff0c;系统使用 /etc/fstab 文件来确定应该如何挂载文件系统。/etc/fstab 文件是一个文本文件&#xff0c;包含了在系统引导期间将要挂载的所有文件系统的定义。它通过…

C#让标题栏闪烁着动起来的方法

目录 1.API函数FlashWindow &#xff08;1&#xff09;添加命名空间 &#xff08;2&#xff09;声明DllImport方法 &#xff08;3&#xff09;FlashWindow函数 2.P/Invoke 3.再来一个示例 在Windows系统中&#xff0c;当程序在后台运行时&#xff0c;如果某个窗体的提示信…

【MATLAB源码-第29期】基于matlab的MIMO,MISO,SIMO,SISO瑞利rayleigh信道容量对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. SISO&#xff08;单输入单输出&#xff09;&#xff1a; - SISO 是指在通信系统中&#xff0c;只有一个天线用于传输信号&#xff0c;也只有一个天线用于接收信号的情况。这是最简单的通信方式。 2. SIMO&#xff08;单…

nslookup查询网站是否支持IPV6

nslookup是一种网络管理命令行工具&#xff0c;可用于查询DNS域名和IP地址输入指令nslookup默认服务器和Address是当前上网所用的DNS服务器域名和地址A记录A&#xff08;Address&#xff09;记录指的是用来指定主机名或域名对应的IP记录。

从C到C++过渡知识 下(深入理解引用与指针的关系)

引用 引用时C引入的一个新的概念&#xff0c;他和指针有着千丝万缕的关系。 首先我们要了解的是引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空 间&#xff0c;它和它引用的变量共用同一块内存空间。语法格式如下…

C#常见Winform窗体效果

目录 1&#xff0c;窗体闪烁。 2&#xff0c;透明非矩形的窗体。 3&#xff0c;窗口显示&#xff0c;退出呈现平滑效果。 4&#xff0c;窗体不在任务栏中显示&#xff1a; 1&#xff0c;窗体闪烁。 /// <summary>/// 窗体闪烁/// </summary>/// <param na…

【Servlet】session保存作用域

session保存作用域&#xff1a;一次会话范围都有效 Java的服务器端&#xff0c;有一块内存专门存储在session保存作用域的数据。 session保存作用域是和具体的某一个session对应的。 常用API&#xff1a; void session.setAttribute(k, v)Object session.getAttrivute(k) —…