Initial commit

This commit is contained in:
Docker7530
2026-03-01 01:43:46 +08:00
commit c6125c117b
3840 changed files with 415340 additions and 0 deletions
+94
View File
@@ -0,0 +1,94 @@
Ansible 是一个开源的自动化工具,主要用于配置管理、应用部署、和任务自动化。它通过编写简单的人可读的配置文件(YAML 格式的剧本,称为Playbooks)来定义自动化流程。Ansible 不需要在被管理节点上安装任何代理程序,使用的是 SSH 协议进行通信,这使得它非常轻量且易于部署。
### Ansible 可以做什么:
1. **配置管理**:确保服务器的状态如期望的那样。例如,安装软件包、设置系统配置等等。
2. **应用部署**:自动化应用程序的安装、升级和管理过程。
3. **任务自动化**:可以自动化执行日常的维护和操作任务。
4. **编排**:管理不同设备和服务之间的复杂工作流。
### 搭建流程:
1. **安装 Ansible**
- 首先确保你有一台控制节点(通常是你的本地开发机),以及一台或多台被管理节点。
- 在控制节点上安装 Ansible。可以通过以下命令在大多数 Linux 发行版上安装:
```bash
sudo apt update
sudo apt install ansible
```
对于 macOS 用户,可以使用 Homebrew
```bash
brew install ansible
```
2. **配置 SSH 访问**
- 确保 Ansible 控制节点可以通过 SSH 访问到被管理节点。
- 你可以用 SSH 密钥对来配置无密码登录:
```bash
ssh-keygen -t rsa
ssh-copy-id user@managed_node_ip
```
3. **设置清单文件**
- 创建一个清单文件用于定义被管理节点,可以命名为 `hosts.ini`
```ini
[webservers]
192.168.0.101
192.168.0.102
[databases]
192.168.0.103
```
4. **编写一个简单的 Playbook**
- 创建一个 YAML 文件,如 `site.yml`
```yaml
---
- name: Install and start Apache
hosts: webservers
become: yes
tasks:
- name: Ensure Apache is installed
apt:
name: apache2
state: present
- name: Ensure Apache is running
service:
name: apache2
state: started
```
5. **运行 Ansible Playbook**
- 运行以下命令执行 Playbook
```bash
ansible-playbook -i hosts.ini site.yml
```
### 测试一个小 Demo
首先确保你控制节点配置好了 SSH 访问和清单文件。然后,创建一个简单的 Playbook 文件 `demo.yml`,内容如下:
```yaml
---
- name: Echo message to managed nodes
hosts: all
tasks:
- name: Echo Hello World
command: echo "Hello World"
```
运行如下命令来执行这个简单的 Playbook:
```bash
ansible-playbook -i hosts.ini demo.yml
```
这个 Playbook 将会在所有被管理节点上执行 `echo "Hello World"` 命令。通过这种小测试,可以确认 Ansible 环境的配置是否成功,并验证基础功能的正常运行。