共计 1681 个字符,预计需要花费 5 分钟才能阅读完成。
在这篇文章中,咱们将逐渐介绍如何在 Fedora 36 上装置 Ansible。
Ansible 是一个收费的、开源的自动化工具,能够通过 ssh 协定治理近程 Linux 机器。装置 ansible 的零碎称为管制节点,被 ansible 治理的近程机器称为被治理节点。
先决条件
- Minimal Install Installed Fedora
- Sudo User with admin rights
- Internet Connectivity
试验筹备
- Control Node(管制节点): Fedora 36 – 192.168.1.168
- Managed Node(被控节点): Ubuntu 22.04 – 192.168.1.167
(1) 更新 Fedora 零碎
登录您的 fedora 36 零碎,运行以下 dnf 命令装置所有更新
$ sudo dnf update -y
所有更新装置实现后,重新启动零碎
$ sudo reboot
(2) 应用 dnf 装置 Ansible
Ansible 及其依赖可在 Fedora 36 的默认包存储库中应用,执行以下命令装置
$ sudo dnf install -y ansible
装置实现后,查看其版本
$ ansible --version
(3) 生成和共享 SSH 密钥
Generate the ssh keys for your local user (sysops) and share that keys with managed node.
为本地用户 (sysops) 生成 ssh 密钥并与被控节点共享该密钥
执行命令生成 ssh 密钥
$ ssh-keygen
当初执行 ssh-copy-id 命令共享 ssh 密钥
$ ssh-copy-id sysops@192.168.1.167
留神: 确保被管节点上存在 sysops 用户,并应用 echo 和 tee 命令在被管节点上创立以下用户
$ echo "sysops ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/sysops
(4) 测试 Ansible 装置
咱们尝试治理近程零碎(192.168.1.167)先创立 ansible.cfg 和 inventory 文件
$ mkdir demo-ansible && cd demo-ansible
$ vi ansible.cfg
创立 ansible.cfg 文件,蕴含以下内容
[defaults]
inventory = /home/sysops/demo-ansible/inventory
remote_user = sysops
host_key_checking = False
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
保留并敞开该文件
创立 inventory 文件,蕴含以下内容
[test]
192.168.1.167
保留并退出文件
执行以下 ansible ad-hoc 命令查看与治理节点的连通性
$ ansible test -m ping
$ ansible test -m shell -a 'lsb_release -a'
完满,下面证实了连贯是存在的,因为乒乓球测试工作失常。
让咱们创立一个示例剧本,在被控主机上安装 vsftpd
$ vi vsftpd.yaml
---
- name: Playbook to Install FTP Server
hosts: test
tasks:
- name: Install vsftpd
package:
name: vsftpd
state: present
- name: Start vsftpd service
service:
name: vsftpd
state: started
enabled: yes
保留并敞开文件
应用以下 Ansible 命令运行剧本
$ ansible-playbook vsftpd.yaml
以上输入确认剧本已胜利执行
验证 vsftpd 服务状态,运行
$ ansible test -m shell -a 'systemctl status vsftpd'
我的开源我的项目
- course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
- course-tencent-cloud(酷瓜云课堂 – github 仓库)