Ansible快速入门

1. 简介

Ansible是一款非常出色的自动化配置管理工具,由Python语言开发,基于SSH协议实现对远程Linux主机的管理,相对于salt而言ansible不需要安装额外的agent,拥有丰富的模块,配合Playbook、Roles使用非常灵活、方便。

2. 安装

Ansible支持多种安装方式,下面是两个示例:

  • 基于yum
yum install ansible
  • 基于pip
pip install ansible

3. 配置文件

基于yum的安装方式,可以到/etc/ansible/ansible.cfg找到配置文件,如果是基于pip安装的,默认是没有配置文件的,可以到github上查看ansible.cfg配置文件。常用的配置如下:

inventory   定义主机资源清单
forks       定义工作进程的数,默认5个
sudo_user   默认执行命令的用户
host_key_checking   是否检查ssh主机的指纹,可以设置为False

4. 指纹检查

如何处理主机指纹检查的问题

  • 通过配置禁用检查指纹
host_key_checking = False
或
export ANSIBLE_HOST_KEY_CHECKING=False
  • 通过ssh-keyscan将指纹写到known_hosts文件中
ssh-keyscan 192.168.44.144 >> ~/.ssh/known_hosts   # 多个主机可以用","分隔
或从文件中读取主机列表,hosts文件的格式:每行一个ip即可
ssh-keyscan -f hosts >> ~/.ssh/known_hosts

5. 密钥认证

可以先利用ssh-keygen生成密钥,然后将公钥id_rsa.pub写入目标主机的~/.ssh/authorized_keys文件中,注意文件权限为:600

  • 可以利用ssh-copy-id,如果节点比较多这种方式不是很可取
ssh-copy-id username@target_host
  • 利用expect自动应答机制实现
expect + ssh-copy-id
  • 利用ansible的authorized_key模块
ansible-doc authorized_key

6. ping

  • 主机清单
# cat hosts
[master]
192.168.44.141
  • 执行命令
# ansible all -i hosts -m ping
192.168.44.141 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值