关于fedora:如何在-Fedora-36-上安装-Ansible-自动化工具

3次阅读

共计 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 仓库)
正文完
 0