在 Linux 下配置 Ansible 主要涉及以下几个步骤:
安装 Ansible:
对于基于 Debian 的系统(如 Ubuntu),使用以下命令安装 Ansible:
sudo apt-get update
sudo apt-get install ansible
对于基于 RHEL 的系统(如 CentOS),使用以下命令安装 Ansible:
sudo yum install epel-release
sudo yum install ansible
配置 Ansible:
Ansible 的配置文件位于 /etc/ansible/ansible.cfg
。你可以直接编辑这个文件,或者创建一个新的配置文件,例如 /etc/ansible/ansible_local.cfg
,并将其链接到 /etc/ansible/ansible.cfg
。
在 ansible.cfg
文件中,你可以配置以下内容:
inventory
:指定 Ansible 主机列表文件的位置。例如,使用以下命令指定 hosts
文件的位置:
inventory = /path/to/hosts
remote_user
:指定远程主机上的用户名。例如,将用户名设置为 user
:
remote_user = user
private_key_file
:指定用于 SSH 连接的私钥文件的位置。例如,将私钥文件设置为 /path/to/private_key
:
private_key_file = /path/to/private_key
timeout
:指定 SSH 连接超时时间(以秒为单位)。例如,将超时时间设置为 10
:
timeout = 10
log_path
:指定 Ansible 日志文件的位置。例如,将日志文件设置为 /var/log/ansible.log
:
log_path = /var/log/ansible.log
其他配置选项:你可以在 Ansible 官方文档 中查看所有可用的配置选项。
创建 Ansible 主机列表文件:
在 inventory
文件中,你可以定义一组主机,每个主机可以是一个 IP 地址、主机名或组名。例如,创建一个名为 hosts
的文件,内容如下:
192.168.1.100
192.168.1.101
192.168.1.102
你还可以使用组名来组织主机。例如,在 hosts
文件中添加一个名为 webservers
的组:
[webservers]
192.168.1.100
192.168.1.101
编写 Ansible Playbook:
Ansible Playbook 是一个 YAML 文件,用于描述任务、主机和配置。例如,创建一个名为 playbook.yml
的文件,内容如下:
---
- name: Example Playbook
hosts: all
tasks:
- name: Install nginx
ansible.builtin.package:
name: nginx
state: present
这个 Playbook 将在所有主机上安装 Nginx。
运行 Ansible Playbook:
使用以下命令运行 Playbook:
ansible-playbook playbook.yml
你还可以使用 -i
选项指定主机列表文件,例如:
ansible-playbook -i hosts playbook.yml
使用 -u
选项指定远程主机上的用户名,例如:
ansible-playbook -i hosts -u user playbook.yml
使用 -k
选项启用密码提示,例如:
ansible-playbook -i hosts -u user -k playbook.yml
通过以上步骤,你可以在 Linux 下配置 Ansible。更多关于 Ansible 的信息和示例,请参阅 Ansible 官方文档。