【Ansible 学习之旅】Ansible 安装和入门

系列文章

Ansible 介绍和架构


目录


Ansible安装

  • 在安装 Ansible 之前确实需要确保目标系统(即控制节点和被管理节点)上已经安装了 Python。这是因为 Ansible 依赖于 Python 来与被管理节点进行通信,并执行各种任务。
  • Ansible安装在控制节点,受管节点(Ansible 管理的机器)不需要安装 Ansible,但需要 Python 来运行 Ansible 生成的 Python 代码。 受管节点还需要一个用户账户,该账户可以通过 SSH 连接到带有交互式 POSIX shell 的节点。

ansible的安装方法有多种。

  • EPEL源的rpm包安装:
bash 复制代码
yum install ansible
  • 编译安装
bash 复制代码
yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto
tar xf ansible-1.5.4.tar.gz
cd ansible-1.5.4
python setup.py build
python setup.py install
mkdir /etc/ansible
cp -r examples/* /etc/ansible
  • Git方式
bash 复制代码
git clone git://github.com/ansible/ansible.git --recursive
cd ./ansible
source ./hacking/env-setup
  • pip 安装
    pip 是安装Python包的管理器,类似 yum
bash 复制代码
yum install python-pip python-devel
yum install gcc glibc-devel zibl-devel  rpm-bulid openssl-devel
pip install  --upgrade pip
pip install ansible --upgrade

确认安装

bash 复制代码
ansible --version

演示

这里准备3台虚拟机:

主机 操作系统 IP地址 角色 主要软件
server1 Rocky Linux 8.8 192.168.30.121 控制机器 ansible
server2 Rocky Linux 8.8 192.168.30.122 受控机器 httpd
server3 Rocky Linux 8.8 192.168.30.123 受控机器 mysql

下面演示在server1上的操作

  1. 修改主机名及关闭防火墙
bash 复制代码
hostnamectl set-hostname server1
systemctl stop firewalld
systemctl disable firewalld
  1. yum安装epel源和ansible并查看其结构
bash 复制代码
yum install -y epel-release ansible

...

bash 复制代码
ansible --version

/etc/ansible中有三个重要的文件和目录:

  • ansible.cfg

    ansible.cfg 是 Ansible 的全局配置文件,用于设置 Ansible 的默认行为和参数。这个文件可以自定义 Ansible 的行为,例如设置默认的连接方式、身份验证方法、日志级别等等。

  • hosts

    hosts 文件是 Ansible 的清单文件,用于指定被管理节点(也称为"主机")及其属性。在这个文件中,我们可以定义不同组的主机,以及每个组内的主机列表。例如,可以创建一个名为 webservers 的组,然后将所有 Web 服务器添加到这个组中。这样,在执行任务时就可以针对这个组而不是单独的每一台服务器。

    清单文件还可以包含变量,这些变量可以在剧本中使用,以提供动态配置的能力

  • roles

    roles 目录是存放 Ansible 角色的地方。角色是一种可复用的 Ansible 内容集合,包含任务、处理程序、变量、模板和文件。角色可以帮助我们组织和重用代码,提高效率。

    我们可以创建自己的角色,也可以从 Ansible Galaxy(一个第三方角色存储库)下载和安装其他人编写的角色

相关推荐
其实防守也摸鱼26 分钟前
运维--ip单日获取去重数据量超过500条
运维·学习·tcp/ip·安全·web安全·安全威胁分析·工具
pixcarp1 小时前
GMP调度模型和GC垃圾回收机制解析
后端·学习·golang·内存管理·gc·gmp
·醉挽清风·1 小时前
学习笔记—八股—操作系统
笔记·学习
踏月的造梦星球11 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
GHL28427109014 小时前
unreferenced formal parameter 解决办法学习
学习
fanchenxinok15 小时前
学习笔记:LabVIEW调用DLL解析S19文件教程
笔记·学习·labview·dll解析
芷栀夏16 小时前
Java教育平台实战复盘:课程、考试与学习行为分析系统设计
java·开发语言·学习
从零开始的代码生活_16 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
执笔论英雄18 小时前
【大模型推理 】 vllm kvconnet 学习
学习·vllm
·醉挽清风·19 小时前
学习笔记—算法—算法题
笔记·学习·算法