Ansible安装&使用

简介

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

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

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

安装

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

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

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

如下

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

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

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

shell 复制代码
ansible --version

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

使用

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

yml 复制代码
- 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 服务

敲下面的命令,执行剧本

shell 复制代码
ansible-playbook [剧本文件.yml]

如下

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

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

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

相关推荐
RacentCLM几秒前
证书即服务CaaS:从申请、续期到部署的自动化链路拆解
运维·数据库·自动化·ssl
Helix25014 分钟前
Intune 可观测性与 AI 排障实战:Copilot、高级分析与自动化运维指南
copilot·自动化运维·terminal·intune 可观测性·设备时间线·intelligent·ai排障
注塑机数据采集联网1 小时前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
海宇服务1 小时前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节
代码方舟1 小时前
零信任架构实战:基于天远人企关联构建自动化供应链核心企业关联穿透与利益冲突审查网关
java·人工智能·架构·自动化
虎鲸不是鱼2 小时前
AI 自动化逆向(三十一)函数体不可读 ≠ 函数不可命名
人工智能·自动化·大模型·逆向·ai逆向
Brilliantwxx2 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地3 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
鬼手点金3 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
学习论之费曼学习法3 小时前
无人值守AI内容矩阵实战(8):标题 A/B 实验的 6 个工程实现细节,隔日对比与自动判胜
人工智能·python·算法·矩阵·自动化·a/b测试·内容矩阵