Ansible安装&使用

0 阅读2分钟

简介

Ansible(github.com/ansible/ans…) 是一款开源的自动化运维工具,使用 Python 语言开发。

通过预订好的流程(剧本),可以实现对服务器集群的批量操作,配合定时任务还能实现对服务器的自动化运维。

本文介绍如何部署 Ansible 和简单使用,用于监测服务器的 Docker 服务,停机时自动重启。

安装

Ansible 通过 pip3 命令安装,需要服务器有 Python 环境,可参考下面这篇博客安装 Python 环境

安装好 Python 命令后,敲下面的命令安装 Ansible

python3 -m pip install ansible --no-cache-dir --trusted-host mirrors.aliyun.com --index-url http://mirrors.aliyun.com/pypi/simple/

如下

在这里插入图片描述

敲下面的命令,把 Ansible 命令加入到系统环境变量中,下面的 Python 地址换成自己的

echo 'export PATH="/usr/local/dev/python/python3/bin:$PATH"' >> /root/.bashrc
source /root/.bashrc

敲下面的命令,查看 Ansible 版本信息

ansible --version

出现下面的信息说明安装完成

在这里插入图片描述

使用

Ansible 是通过剧本来知道需要执行的操作的,剧本文件是 yml 格式,如下,是一个检测本机 Docker 服务状态,服务停止并重启的剧本

- name: 自动检测 Docker 服务状态,宕机则重启
  hosts: localhost
  gather_facts: false
  tasks:
    # 检查 docker 是否在运行
    - name: 检查 Docker 服务状态
      service:
        name: docker
        state: started
        enabled: yes  # 开机自启
      register: docker_status

    # 如果服务挂了,会自动重启
    - name: Docker 已宕机  执行重启
      debug:
        msg: "Docker 服务已重启成功!"
      when: docker_status.changed

测试一下,目前 Docker 服务是开启的

在这里插入图片描述

敲下面的命令,关闭 Docker 服务

在这里插入图片描述

敲下面的命令,执行剧本

ansible-playbook [剧本文件.yml]

如下

在这里插入图片描述

执行剧本的命令完全可以加入到系统的定时任务中,每 10 秒执行一次,这样就做到了服务器的巡检

当然,这只是一个简单使用,还能加入清理服务磁盘空间等其他的操作

服务器定时任务的介绍参看下面这篇博客: