Ansible安装

1.配置源

阿里云镜像站地址:镜像源

bash 复制代码
yum install epel-release -y 
[root@myhost ~]# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
#baseurl=http://download.example/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place its address here.
#baseurl=http://download.example/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
# It is much more secure to use the metalink, but if you wish to use a local mirror
# place it's address here.
#baseurl=http://download.example/pub/epel/7/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

Centos-Base.repo源

bash 复制代码
[root@myhost ~]# cat /etc/yum.repos.d/CentOS-Base.repo 
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/
gpgcheck=0

2.安装ansible

不同版本的ansible需要不同版本的python环境!

bash 复制代码
yum install ansible -y 


1./etc/ansible

这是 Ansible 的主配置目录,包含 Ansible 的主要配置文件和默认的 Inventory 文件。

2./etc/ansible/ansible.cfg

这是 Ansible 的主配置文件,用于定义 Ansible 的行为和默认设置。它包含多个部分,每个部分都有特定的配置选项。以下是一些常见的配置选项:

defaults

inventory:指定 Inventory 文件的路径,默认是 /etc/ansible/hosts。

remote_user:指定远程主机的默认用户。

host_key_checking:是否进行 SSH 主机密钥检查。

log_path:指定日志文件的路径。

privilege_escalation

become:是否启用特权提升(如 sudo)。

become_method:特权提升的方法(如 sudo 或 su)。

ssh_connection

ssh_args:SSH 连接的参数。

control_path:SSH 控制路径。

示例:

bash 复制代码
[defaults]
inventory = /etc/ansible/hosts
remote_user = ansible
host_key_checking = False
log_path = /var/log/ansible.log

[privilege_escalation]
become = True
become_method = sudo

3./etc/ansible/hosts

这是 Ansible 的默认 Inventory 文件,用于定义要管理的主机和组。Inventory 文件可以是简单的主机列表,也可以是复杂的组结构。

示例:

bash 复制代码
# /etc/ansible/hosts
[webservers]
host1.example.com
host2.example.com

[dbservers]
host3.example.com
host4.example.com

4./etc/ansible/roles

这是 Ansible 的默认角色目录,用于存储角色。角色是 Ansible 的基本单位,用于组织和重用 Playbook。角色通常包含任务、变量、文件、模板和子角色等。

示例目录结构:

bash 复制代码
/etc/ansible/roles/
├── my_role/
│   ├── tasks/
│   │   └── main.yml
│   ├── vars/
│   │   └── main.yml
│   ├── files/
│   ├── templates/
│   ├── meta/
│   │   └── main.yml
│   └── defaults/
│       └── main.yml

示例:

bash 复制代码
# /etc/ansible/roles/my_role/tasks/main.yml
---
- name: Install Apache
  yum:
    name: httpd
    state: present

5.其他常见文件和目录

/etc/ansible/plugins:存放 Ansible 插件的目录,如连接插件、回调插件等。

/etc/ansible/facts.d:存放主机事实(facts)的目录,用于定义主机的自定义变量。

/etc/ansible/vars:存放变量文件的目录,用于定义全局变量。

/etc/ansible/inventory:存放 Inventory 文件的目录,可以包含多个 Inventory 文件。

/etc/ansible/vault:存放加密文件的目录,用于存储敏感信息。

相关推荐
AOwhisky8 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
c238568 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白668 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
2401_834636999 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
aosky10 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
云登指纹浏览器10 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz11 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
凡人叶枫11 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan11 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
Teacher.chenchong12 小时前
AI-Agent2.0 科研全链路实战营:LLM+NotebookLM + 自动化编程 + 文献管理 + 论文写作,搭建本地科研智能体
人工智能·自动化