部署Ansible,本地的student用户与被控节点的student配置免密,Ansible清单里面使用主机名
时间: 2024-06-07 09:11:48 浏览: 123
部署Ansible需要以下步骤:
1. 在Ansible控制节点上安装Ansible软件包。
2. 在控制节点上创建SSH密钥对,并将公钥复制到所有被控节点的student用户的~/.ssh/authorized_keys文件中,以实现免密登录。
3. 在控制节点上创建一个Ansible清单文件,其中包含被控节点的主机名或IP地址。
4. 编写Ansible Playbook文件,定义要在被控节点上执行的任务。
以下是具体步骤:
1. 在控制节点上安装Ansible软件包:
```
sudo apt update
sudo apt install ansible
```
2. 在控制节点上创建SSH密钥对,并将公钥复制到所有被控节点的student用户的~/.ssh/authorized_keys文件中,以实现免密登录:
```
ssh-keygen
ssh-copy-id student@<被控节点IP或主机名>
```
3. 在控制节点上创建一个Ansible清单文件,其中包含被控节点的主机名或IP地址。在/etc/ansible/hosts文件中添加以下内容:
```
[webserver]
webserver1.example.com
webserver2.example.com
```
这里将被控节点命名为“webserver”,并列出了两个主机名。
4. 编写Ansible Playbook文件,定义要在被控节点上执行的任务,例如以下示例:
```
---
- hosts: webserver
become: true
tasks:
- name: Install Apache web server
apt:
name: apache2
state: present
- name: Start Apache service
service:
name: apache2
state: started
```
这个Playbook将在“webserver”组中的所有主机上安装Apache web服务器并启动它。
完成以上步骤后,您可以使用以下命令运行Ansible Playbook:
```
ansible-playbook <playbook文件名>.yml
```
其中<playbook文件名>.yml是您编写的Playbook文件名。Ansible将在所有被控节点上执行与Playbook文件中定义的任务。
阅读全文