ansible安装以及配置

1. 安装
yum install -y epel-release
yum install -y ansible

2.  配置
 ssh密钥配置
首先生成密钥对
ssh-keygen -t rsa  直接回车即可,不用设置密钥密码
这样会在root家目录下生成.ssh目录,这里面也会生成两个文件 id_rsa 和  id_rsa.pub 
然后把公钥(id_rsa.pub)内容放到对方机器的/root/.ssh/authorized_keys里面,包括本机
vim /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
对方机器上要配置好 authorized_keys文件的权限
chmod 600 /root/.ssh/authorized_keys
还需要关闭selinux

3. 远程执行命令

先配置ansible
vi  /etc/ansible/hosts  //增加
[testhost]
127.0.0.1
10.10.13.248
说明: testhost为主机组名字,自定义的。 下面两个ip为组内的机器ip

ansible  testhost -m command -a ‘w‘ 
这样就可以批量执行命令了。这里的testhost 为主机组名,当然我们也可以直接写一个ip,针对某一台机器来执行命令。

错误: "msg": "Aborting, target uses selinux but python bindings (libselinux-python) aren‘t installed!"
解决: yum install -y libselinux-python

也可以使用shell模块

ansible  testhost -m shell -a ‘w‘ #shell模块可以解决一些cmd没法解法的问题比如cmd模块不能使用管道

4. 拷贝文件或者目录
ansible testhost  -m copy -a "src=/etc/ansible dest=/tmp/ansibletest owner=root group=root mode=0644"
注意:源目录会放到目标目录下面去。

5. 远程执行一个shell脚本
首先创建一个shell脚本
vim  /tmp/test.sh  //加入内容
#!/bin/bash
echo `date` > /tmp/ansible_test.txt

然后把该脚本分发到各个机器上
ansible testhost -m copy -a "src=/tmp/test.sh dest=/tmp/test.sh mode=0755"

最后是批量执行该shell脚本
ansible testhost -m shell -a "/tmp/test.sh"

shell模块,还支持远程执行命令并且带管道
ansible testhost -m shell -a "vim /etc/passwd|wc -l "

6. cron
ansible testhost -m cron -a "name=‘test cron‘ job=‘/bin/touch /tmp/1212.txt‘  weekday=6"
若要删除该cron 只需要加一个字段 state=absent
ansible testhost -m cron -a "name=‘test cron‘ job=‘/bin/touch /tmp/1212.txt‘  weekday=6 state=absent"

7. yum和service
ansible testhost -m yum -a "name=httpd"
ansible testhost -m service -a "name=httpd state=started enabled=yes"

文档使用:
ansible-doc -l   列出所有的模块
ansible-doc cron  查看指定模块的文档

8.playbook
相当于把模块写入到配置文件里面
例:
vim  /etc/ansible/test.yml
---
- hosts: testhost
  remote_user: root #也可以使用user
  tasks:
    - name: test_playbook
      shell: touch /tmp/river.txt

说明: 
hosts参数指定了对哪些主机进行参作;
user参数指定了使用什么用户登录远程主机操作;
tasks指定了一个任务,其下面的name参数同样是对任务的描述,在执行过程中会打印出来。

执行:
ansible-playbook test.yml

再来一个例子:
vim  /etc/ansible/create_user.yml
---
- name: create_user
  hosts: testhost
  user: root
  gather_facts: false
  vars:
    - user: "test"
  tasks:
    - name: create user
      user: name="{{ user }}"

说明: 
name参数对该playbook实现的功能做一个概述,后面执行过程中,会打印 name变量的值 ,可以省略;
gather_facts参数指定了在以下任务部分执行前,是否先执行setup模块获取主机相关信息,这在后面的task会使用到setup获取的信息时用到;
vars参数,指定了变量,这里指字一个user变量,其值为test ,需要注意的是,变量值一定要用引号引住;
user提定了调用user模块,name是user模块里的一个参数,而增加的用户名字调用了上面user变量的值。

时间: 2024-10-06 08:51:10

ansible安装以及配置的相关文章

ansible安装以及配置优化和实现动态inventory

系统环境 # uname -a     Linux puppetserver25 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux # cat /etc/issue Red Hat Enterprise Linux Server release 6.5 (Santiago) Kernel \r on an \m # python -V Python 2.6.6 所需要的

ansible安装和配置

一.安装ansible准备 //安装准备 1.两台机器 172.7.15.106 172.7.15.111 2.设置hostname以及hosts 172.7.15.106 web9.lulu.com 172.7.15.111 web10.lulu.com 3. 安装ansible (只需要在106--server端安装) [[email protected] ~]# yum install -y epel-release [[email protected] ~]# yum install -

Ansible 安装和配置

We start with installing Ansible using root. step 1 - run "yum install ansible" to install it on one machine with CenOS 7; step 2 - configuring ansible hosts Open the file /etc/ansible/hosts, in this file, add: [servers] host1 [email protected]_

ansible安装及使用

一.ansible介绍 1.ansible ansible是新出现的自动化运维工具,基于Python研发.糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能.仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端.ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定操

Ansible安装部署及常用模块详解

Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> -m NAME,–module-name=NAME:指定执行使用的模块 -u USERNAME,–user=USERNAME:指定远程主机以USERNAME运行命令 -s,–sudo:相当于Linux系统下的sudo命令 -USUDO_USERNAME,–sudo-user=SUDO_USERNAME:使用

ansible安装配置与简单使用

前言: AnsibleWorks成立于2012年,由自动化工具Cobbler及Func的开发者Michael DeHaan创建.其Ansible平台是一个开源的配置及计算机管理平台.可实现多节点的软件部署,执行特定任务并进行配置管理. Ansible 跟其他IT自动化技术的区别在于其关注点并非配置管理.应用部署或IT流程工作流,而是提供一个统一的界面来协调所有的IT自动化功能,因此 Ansible的系统更加易用,部署更快.受管理的节点无需安装额外的远程控制软件,由平台通过SSH(Secure S

ansible安装配置

ansible配置与安装 一.安装 1.安装python # tar xvzf Python-2.7.8.tgz # cd Python-2.7.8 # ./configure --prefix=/usr/local # make --jobs=`grep processor/proc/cpuinfo | wc -l` # make install 或者直接安装好yum源 yum install python* 因为ansible是python语言写的.所以需要python的支持. 2.安装an

ansible安装及简单配置

一.安装Ansible 安装epel扩展源 rpm -ivh epel-release-7-5.noarch.rpm 安装ansible yum -y install ansible 安装sshpass curl -O -L  tar -zxvf sshpass-1.05.tar.gz  cd sshpass-1.058 ./configure make && make install 配置shh互信,远程操作无需输入密码  ssh-keygen  ssh-copy-id -i ~/.ss

Ansible安装配置及使用

一.Ansible特点 1.不需要安装客户端,通过sshd通信 2.基于模块工作,模块可以由任何序言开发 3.不仅支持命令行使用模块,也支持编写yaml格式的playbook 4.支持sudo 5.有提供UI(浏览器图形化)www.ansible.com/tower10台主机以内免费 6.开源UI https://github.com/alaxli/ansible_ui文档 http://download.csdn.net/detail/liyang23456/7741185 二.Ansible