【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(一个第三方角色存储库)下载和安装其他人编写的角色

相关推荐
剑飞的编程思维5 分钟前
电商系统三类迭代方案评审重点
学习·系统架构·自动化·运维开发·学习方法
鄭郑11 分钟前
Figma学习笔记--02
笔记·学习·figma
zjnlswd20 分钟前
cvpr论文学习《Generative Image Dynamics》
学习
今儿敲了吗42 分钟前
DS-1 传值与传引用
笔记·学习
solicitous1 小时前
历史与术语
学习·c#
悠哉悠哉愿意1 小时前
【单片机学习笔记】第十一届省赛复盘
笔记·单片机·嵌入式硬件·学习
报错小能手1 小时前
ios开发方向——Swift语言学习 为啥要学Swift?
学习·ios·swift
Xzq2105091 小时前
Mysql API学习
数据库·学习·mysql
風清掦1 小时前
【江科大STM32学习笔记-09】USART串口协议 - 9.2 USART串口数据包
笔记·stm32·单片机·嵌入式硬件·学习
happymaker06262 小时前
web前端学习日记——DAY07(js交互编程)
前端·javascript·学习