如何在 Fedora 36 上安装 Ansible 自动化工具 ?

在这篇文章中,我们将逐步介绍如何在 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

Install-Ansible-Fedora-dnf-command

安装完成后,检查其版本

$ ansible --version

Ansible-Version-Check-Fedora

(3) 生成和共享 SSH 密钥

Generate the ssh keys for your local user (sysops) and share that keys with managed node.

为本地用户 (sysops) 生成 ssh 密钥并与被控节点共享该密钥

执行命令生成 ssh 密钥

$ ssh-keygen

ssh-keygen-fedora-linux

现在执行 ssh-copy-id 命令共享 ssh 密钥

$ ssh-copy-id sysops@192.168.1.167

ssh-copy-id-fedora-linux

注意: 确保被管节点上存在 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'

Managed-Node-Connectivity-Check-Ansible

完美,上面证实了连接是存在的,因为乒乓球测试工作正常。

让我们创建一个示例剧本,在被控主机上安装 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

Ansible-Playbook-Install-vsftpd-Managed-Node

以上输出确认剧本已成功执行

验证 vsftpd 服务状态,运行

$ ansible test -m shell -a 'systemctl status vsftpd'

Verify-Vsftpd-Service-Status-Ansible-Ad-Hoc-Command

我的开源项目

酷瓜云课堂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值