ansible简单使用示例

Posted 雅冰石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible简单使用示例相关的知识,希望对你有一定的参考价值。

一 ansible介绍

在自动化工具中,最简单、易于上手,而且最流行的当属Ansible莫属了。

Ansible是一个开源配置管理工具,可以使用它来自动化任务,部署应用程序实现IT基础架构。Ansible可以用来自动化日常任务,比如,服务器的初始化配置、安全基线配置、更新和打补丁系统,安装软件包等。

1.1 Ansible优势

二 安装ansible

yum install ansible -y

三 使用ansible

3.1 创建专用账号

#在ansible节点及所有后端节点上创建该账号

chattr -ia /etc/passwd

chattr -ia /etc/group

chattr -ia /etc/shadow

chattr -ia /etc/gshadow

useradd ansible

usermod -aG wheel ansible

usermod -aG root ansible

passwd ansible

chown -R ansible:ansible /etc/ansible

#确保该用户可以被远程登录

vi /etc/ssh/sshd_config

在AllowUsers这一行后面添加能远程访问的用户,示例:

AllowUsers ansible

#重启ssh

service sshd restart

3.2 配置免密登录

配置ansible账号到后端服务器的免密登录

假如要在192.168.144.251上执行ansible,远程操作192.168.144.252及192.168.144.253。

则在192.168.144.251上生成秘钥:

su - ansible

ssh-keygen

#将秘钥拷贝到另外两台服务器上

ssh-copy-id 192.168.144.252

ssh-copy-id 192.168.144.253

#验证免密登录

ssh 192.168.144.252

Ssh 192.168.144.253

3.3 配置ansible

默认的配置文件位于/etc/ansible/ansible.cfg下。

vi /etc/ansible/hosts,添加:

[mariadb]

192.168.144.252

192.168.144.253

[ES]

192.168.144.254

3.4 简单使用示例

#ping下后端mariadb服务器,看是否能ping通:

ansible mariadb -m ping

ping不通的话会提示Failed to connect to the host via ssh:

 #只对某个组下某个主机进行变更:

ansible mariadb -m ping --limit "192.168.144.252"

#对某个网段进行操作:

ansible 192.168.144.* -m ping

#ping所有服务器

ansible all -m ping

#查看某个组下的所有主机列表

ansible mariadb --list

#查看某个组中的主机的磁盘空间

ansible mariadb -m command -a "df -h"

3.5 shell模块

ansible mariadb -m shell -a "echo hello world" > /opt/d.txt

文件会保存在ansible服务器上,不是后端服务器上。

3.6 script模块

#使用scripts模块可以在本地写一个脚本,在远程服务器上执行:

ansible mariadb -m script -a "/opt/a.sh"

3.7 copy模块

#将本机上的d.txt拷贝到后端mariadb节点上

ansible mariadb -m copy -a "src=/opt/d.txt dest=/opt/d.txt"

本篇文章参考了Ansible自动化入门,只要这一篇就够了

一文详解 Ansible 的自动化运维

以上是关于ansible简单使用示例的主要内容,如果未能解决你的问题,请参考以下文章

Ansible的基础使用和快速入门

ansible文件介绍

干货 | Ansible 上手指南

Ansible自动化工具简介

简单聊一聊Ansible自动化运维

简单聊一聊Ansible自动化运维