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:存放加密文件的目录,用于存储敏感信息。

相关推荐
未济3 天前
linux 配置环境变量
linux
傲世仙尊3 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.3 天前
进程间通信
linux
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-053 天前
Linux IO编程——静态库、动态库
linux
此冬歌咏3 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz3 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试