ansible的基本学习-安装和简单的配置测试

当下有许多的运维自动化工具(配置管理),例如:ansible、saltstack、puppet、fabric等

ansible 是一种集成it系统的配置管理、应用部署、执行特定任务的开源平台,是ansibleworks公司名下的项目,该公司由cobbler及func的作者与2012年创立成立

ansible 基于python语言实现,由paramiko 和 pyYAML 两个关键模块构建

ansible 特点:

    部署简单,只需要主控端部署 ansible环境,被控端无需任何操作

    默认使用ssh(secure shell) 协议对设备进行管理

    主从集中化管理

    配置简单、功能强大、扩展性强。

    支持 API 及自定义模块,可通过python 轻松扩展。

    通过playbooks 来定制强大的配置、管理状态。

    对云平台、大数据都有很好的支持。

    提供一个功能强大、操作性强的web管理界面和REST API 接口——AWX平台。

ansible与saltstack:

  最大的区别是ansible无需在被监控主机部署任何客户端代理,默认通过ssh通道进行远程命令执行或者下发配置。

  相同点是都具有功能强大、灵活的系统管理、状态配置,都是用YAML格式来描述配置,两者提供丰富的模板及 API, 对云计算平台、大数据都有很好的支持。

安装ansible

  yum   -y   install   ansible

  配置ansible

  ansible目录在 /etc/ansible/

  ansible.cfg    hosts    roles三个配置文件

  ansible.cfg 是 Ansible 工具的配置文件;

  hosts 用来配置被管理的机器;

  roles 是一个目录,playbook 将使用它

SSH密钥认证

  ssh-keygen -t rsa

  ssh-copy-id [email protected]   #@后面可跟IP地址也可以跟主机名字

添加被管理主机

  vim /etc/ansible/hosts

  [Client]

  angent_host_ip_1

  angent_host_ip_2

测试ansible

  ansible Client -m ping   ## 操作 Client 组 ( all 为操作 hosts 文件中所有主机 ),

  -m 指定执行 ping 模块,下面是返回结果

  192.168.12.129 | SUCCESS => {

  "changed": false,
  "ping": "pong"
  }  

  # -i 指定 hosts 文件位置
  # -u username 指定 SSH 连接的用户名  
  # -k 指定远程用户密码
  # -f 指定并发数
  # -s 如需要 root 权限执行时使用 ( 连接用户不是 root 时 )
  # -K -s 时,-K 输入 root 密码  

猜你喜欢

转载自www.cnblogs.com/experimental-believer/p/11801584.html