在 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 官方文档。