超详细的Ansible使用(一)

Q:Ansible是什么?

Ansible是自动化运维的一种工具。除Ansible外,常见的自动化运维工具还有Pssh,Puppet,Chef,Saltstack等等。
在企业生产环境中,Ansbile和Saltstack使用较为广泛。以下内容主要介绍Ansible使用。

Q:Ansible有哪些特点?

1、Ansible基于Python语言开发的自动化运维工具,工作方式C/S架构,有server端,也有client端,但只需要在server上安装Ansible软件即可,client端无需安装任何插件,工具。
2、采用SSH协议
3、轻量级。
4、批量任可写成脚本,不需要分发到远程就可以执行。

Q:Ansible工具原理是怎样的?
由于Ansible是C/S架构,在server端,通过软件程序调用本地Module模块或者插件,读取本地Hosts列表文件(记录客户端主机IP),基于SSH协议远程连接客户端,把任务发送给客户端,让客户端执行发送来的任务,最终把结果返回回来。
在这里插入图片描述
Q:Ansible如何安装?
由以上Ansible工作原理可以知道,客户端只要安装Openssh就可以了。服务器端安装Ansible,两条命令搞定:

yum install epel-release -y
yum install ansible -y

安装完成后,会在/etc/目下生所ansible主目录。其中:hosts文件为被管理主机的IP列表,ansible.cfg为主配置文件,roles为角色或插件路径,默认为空。
在这里插入图片描述
Q:如何使用Ansible呢?
一、需要把要管理的主机IP加入到Ansile的hosts文件中。如下图,可以分组:比如我分成的三个组:k8smaster,k8snode,db。在这里插入图片描述
Ansible模块和插件非常多,2015年,红帽公司1.5亿美金收购了Ansible,除了软件本身外,非常多的插件也是一大原因。常用的Ansible工具管理模块有:command,shell,script,yum,copy,async,docker,cron,ping,sysctl,user,acl,haproxy等等。可以通过ansible-doc -l |more查看。

使用Ansible时,参数-k用来手动输入密码。也可以ssh-keygen生产免密钥。
二、几个实例
1、查看被管理主机状态。

# -k 需要手动输入密码。-m指定模块。这个可查看所有主机是否在线,
#能否ping通。all为所有主机,某个主机可以直接指定主机名或主机IP
ansible -k all -m ping

在这里插入图片描述

ansible all -m command -a "date"

在这里插入图片描述
通过command远程测试所有主机ping www.baidu.com ,ping 1次。

ansible all -m command -a "ping  -c 1 www.baidu.com"

在这里插入图片描述
查看远程主机的磁盘使用状况

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

在这里插入图片描述
2、拷贝文件或目录

#src表示源文件,dest表示目标文件或目录
ansible all -m copy -a 'src=/etc/ansible/hosts dest=/tmp/'

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿蔡BLOG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值