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

相关推荐
AI360labs_atyun2 小时前
字节AI双王炸来了!Seedance 2.0 + Seedream 5.0
人工智能·科技·学习·百度·ai
不用89k3 小时前
SpringBoot学习新手项初识请求
java·spring boot·学习
汐汐咯3 小时前
CNN学习
深度学习·学习·cnn
shadow fish3 小时前
react学习记录(三)
javascript·学习·react.js
Aliex_git4 小时前
浏览器 API 兼容性解决方案
前端·笔记·学习
四谎真好看4 小时前
SSM学习笔记(Spring篇 Day02)
笔记·学习·学习笔记·ssm
瞎某某Blinder7 小时前
DFT学习记录[3]:material project api使用方法 mp_api调取与pymatgen保存
java·笔记·python·学习
学编程的闹钟7 小时前
PHP编程高手的信息检索与文档查阅秘籍
学习
im_AMBER8 小时前
Leetcode 119 二叉树展开为链表 | 路径总和
数据结构·学习·算法·leetcode·二叉树
白开水丶9 小时前
vue3源码学习(五)ref 、toRef、toRefs、proxyRefs 源码学习
前端·vue.js·学习