first commit

This commit is contained in:
严浩
2024-10-29 09:57:32 +08:00
commit 5c0c013375
3 changed files with 92 additions and 0 deletions

78
README.md Normal file
View File

@ -0,0 +1,78 @@
要使用 Ansible 在 Debian 服务器上进行批量操作,你需要按照以下步骤进行设置:
### 1. 安装 Ansible
在你的 Mac 上安装 Ansible。可以通过 Homebrew 来安装,运行以下命令:
```bash
brew install ansible
```
### 2. 配置 SSH 访问
确保你可以通过 SSH 无密码访问所有 Debian 服务器。你可以生成 SSH 密钥并将公钥添加到每个服务器的 `~/.ssh/authorized_keys` 文件中:
```bash
ssh-keygen -t rsa
```
然后使用 `ssh-copy-id` 将公钥复制到每台服务器:
```bash
ssh-copy-id user@server_ip
```
### 3. 创建 Ansible 主机清单
在你的 Mac 上创建一个主机清单文件,例如 `hosts.ini`,内容如下:
```ini
[debian_servers]
server1_ip
server2_ip
server3_ip
```
### 4. 测试连接
使用 Ansible 测试连接是否成功:
```bash
ansible -i hosts.ini debian_servers -m ping
```
如果配置正确你应该会看到“pong”响应。
### 5. 编写 Ansible Playbook
创建一个简单的 Ansible Playbook例如 `playbook.yml`,来执行你想要的操作。以下是一个示例 Playbook更新所有软件包
```yaml
---
- hosts: debian_servers
become: yes
tasks:
- name: Update all packages
apt:
update_cache: yes
upgrade: dist
```
### 6. 执行 Playbook
使用以下命令运行 Playbook
```bash
ansible-playbook -i hosts.ini playbook.yml
```
### 7. 管理和扩展
你可以根据需求扩展 Playbook添加更多的任务比如安装软件、管理文件等。
### 参考文档
- [Ansible 官方文档](https://docs.ansible.com/)
- [Ansible 适用于 Debian 的模块](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/apt_module.html)
通过这些步骤,你就可以在你的 Debian 服务器上使用 Ansible 进行批量操作了。

4
hosts.ini Normal file
View File

@ -0,0 +1,4 @@
# ansible -i hosts.ini debian_servers -m ping
[debian_servers]
129.159.248.21 ansible_ssh_user=root ansible_ssh_common_args='-o StrictHostKeyChecking=no'
130.61.71.202 ansible_ssh_user=root ansible_ssh_common_args='-o StrictHostKeyChecking=no'

10
playbook.yml Normal file
View File

@ -0,0 +1,10 @@
--- # ansible-playbook -i hosts.ini playbook.yml
- hosts: debian_servers
become: true # 的作用是提升任务的执行权限。具体来说它允许任务在目标主机上以不同于当前用户的身份运行通常是以超级用户root的身份。这在需要执行需要更高权限的操作时非常有用例如安装软件包、修改系统配置文件等。
tasks:
- name: Update all packages
apt:
update_cache: yes
upgrade: dist
vars: # Python 解释器警告: 输出中有关于 Python 解释器的警告。这并不影响 Ansible 的执行,但提醒你未来可能会因安装不同版本的 Python 而导致路径变更。若需消除警告,可以显式指定使用的 Python 解释器。在 Playbook 中添加如下变量:
ansible_python_interpreter: /usr/bin/python3