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