今天浅浅的回顾一下Ansible吧

什么是Ansible,他有什么用?

Ansible是一款无代理自动化运维工具,核心作用是批量管理服务器:比如批量执行命令、安装软件、配置服务、部署代码等。

它的优势很明显:

  • 无代理:被控服务器不用装额外软件,靠SSH就能通信(大多数服务器默认支持)。
  • 用Python写的,跨平台、兼容性好。
  • 配置文件是YAML格式,简单易懂,不用写复杂代码。
  • 轻量:安装简单,学习成本低。

怎么安装Ansible?

Centos 7 在有epel的情况下:yum install -y ansible即可。

Ansible的目录结构是什么?

Ansible默认配置文件和核心目录都在 /etc/ansible/ 下,主要有三个文件:

  • ansible.cfg(主配置文件) :控制Ansible的运行参数,比如默认SSH端口、超时时间、模块路径等。新手初期不用改,用默认配置即可,后续熟悉后再根据需求调整。
  • hosts(主机清单) :最核心的文件之一!用来记录所有需要管理的被控服务器信息(IP、用户名、端口等),Ansible执行命令时,就是通过这个文件找到目标服务器。
  • roles(角色目录) :用来存放Ansible角色(Role),是进阶功能,用于组织复杂的Playbook。

host的编写

ini 复制代码
# 单台服务器
lb 192.168.1.100 ansible_ssh_user=root ansible_ssh_pass=****

# 多台Web服务器分组
[web]
web01 192.168.1.100 ansible_ssh_user=root ansible_ssh_pass=****
web02 192.168.1.100 ansible_ssh_user=root ansible_ssh_pass=****

然后使用ansible lb -m ping/ansible web -m ping测试,出现 "pong" 就说明连接成功了!

编写自己的第一个Playbook

Ansible的剧本是Playbook,格式是yml,对于空格有严格的要求。 下面我写个安装Nginx和关闭SElinux、firewalld的Playbook,如下。

yaml 复制代码
# Play块起始:定义整个任务的核心信息
- name: install Nginx  # 任务名称:明确该Play的核心作用是安装Nginx
  hosts: lb           # 目标主机:操作名为lb的服务器
  
  tasks:              # 任务列表:后续所有具体操作都放在tasks下
    - name: install Nginx  # 子任务名称:描述当前步骤作用
      yum:                # 使用yum模块
        name: nginx       # 安装的软件名称:nginx
        state: present    # 状态:present表示确保软件已安装
    
    - name: stop firewalld
      service:              # 使用service模块:管理系统服务
        name: firewalld     # 操作的服务名称:firewalld
        state: stopped      # 服务状态:stopped表示停止当前服务
        enabled: no         # 开机自启:no表示禁止服务开机自动启动
    
    - name: stop SELinux    # 子任务名称
      command: setenforce 0 # 使用command模块执行系统命令

先写这么多,后面有时间再多写点干货🤭。

相关推荐
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站1 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏1 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅1 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼1 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘1 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥1 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
云贝贝贝1 天前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云
Lsetea1 天前
证书没到期却报certificate has expired:OpenSSL定位中间证书与系统时间
运维·https·ssl证书·openssl·证书链