Ansible 的重新学习记录
这里我的Ansible的宿主机是centos 7.2系统,这里我通过yum 安装Ansible
1、配置epel源
sudo yum -y install epel-release 2、安装Ansible
sudo yum -y install ansible 3、安装pip
mkdir /data/tools && cd /data/tools
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
sudo python ez_setup.py --insecure
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar -xf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python setup.py install 4、安装ansible 需要用到的一些常用的附属模块
pip install paramiko PyYAML Jinja2 httplib2 six Jinja2:Python 的一个对设计师友好的现代模板语言
PyYAML:Python 的一个 YAML 编码/反编码函数库
paramiko:纯 Python 编写的 SSHv2 协议函数库 (译者注:原文对函数库名有拼写错误)
httplib2:一个功能全面的 HTTP 客户端函数库 5、因为ansible管理主机的时候我们也是通过ssh协议来管理的,所以为了方便这里我们把ansible宿主机和
被管理客户端主机ssh免密通道打通。这样的话,我们操作起来就非常的方便了
首先我们在宿主机生成一个公钥
生成秘钥对
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ” # 生产密钥对 这个命令会产生一个公钥(~/.ssh/id_rsa.pub)和密钥(~/.ssh/id_rsa), -t dsa:表示使用密钥的加密类型,可以为’rsa’和’dsa’ -P ”:表示不需要密码登录 -f ~/.ssh/id_dsa:表示密钥存放的路径为${USER}/.ssh/id_dsa ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname] -p10999 或者我们使用这个方法来传输公钥到远程主机上
ansible web -m shell -a "cat /home/wwwad/id_rsa.pub >> /home/wwwad/.ssh/authorized_keys"--ask-pass -c paramiko
这样,我们会以密码的形式登录到远程主机,把公钥传过去 #如果你是单台机器的话,可以使用这种方式把公钥文件传递到对方主机
PS:
很多时候,一些童鞋使用scp来把公钥文件传递到远程主机上,然后再给cat到远程主机的authorized_keys文件中,但是这种情况是属于你手动创建了authorized_keys文件,这个时候这个文件的权限跟你系统定义的umask是相关联的,所以也就导致了你已经上传公钥到远程主机但是依旧不能通过公钥来登录远程主机。这是authorized_keys文件权限问题导致的。 6、接下来我们就应该配置host清单了
sudo chown wwwad.wwwad /etc/ansible -R
sudo chown wwwad.wwwad /usr/bin/ansible
sudo chown wwwad.wwwad /usr/bin/ansible-2.7 cd /etc/ansible
cp hosts hosts_bak
>hosts
vim hosts
[live-web]
web3 ansible_ssh_host=10.19.15.63 ansible_ssh_port=10958 ansible_ssh_user=wwwad [live-web] :主机群组
web3 :主机10.19.15.63 的别名 接下来我们看看ansible的常用模块
今天练习,我接触和用到的模块有
command shell copy ping 目前就用到这三个模块,剩余的模块,接着学习
copy模块
file模块
cron模块
group模块
user模块
yum模块
service模块
script模块
ping模块
command模块
raw模块
get_url模块
synchronize模块 ansible all -m ping -ask-pass -c paramiko -u root 这样的话,我们可以以输入密码的形式来执行模块和命令 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。
-ask-pass 使用密码的形式登录主机
这里-u root 可以换成 --become
这里的
-ask-pass 的简写模式是 -k
--become 的简写模式是 -b

ansible 学习记录的更多相关文章

  1. Ansible学习记录五:PlayBook学习

    0.介绍 Playbooks 是 Ansible 管理配置.部署应用和编排的语言,可以使用 Playbooks 来描述你想在远程主机执行的策略或者执行的一组步骤过程等 类似于一组任务集,定义好像项目, ...

  2. Ansible学习记录一:Linux下部署

    0.Ansible介绍 Ansible 是一个简单的自动化运维管理工具,可以用来自动化部署应用.配置.编排 task(持续交付.无宕机更新等),采用 paramiko 协议库(fabric 也使用这个 ...

  3. Ansible学习记录四:单命令测试

    0.Ansible的group支持all.通配符(*).IP地址 1.查看Ansible的版本 $  ansbile  --version [root@test ~]# ansible --versi ...

  4. Ansible学习记录六:Tower安装

    0.特别说明 1. 本文档没有特殊说明,均已root用户安装 2. 本文档中ftp传输文件的工具采用filezilla. 3. 本文档中的执行命令必须严格按照顺序而来. 4. 本文档中所用浏览器为Go ...

  5. Ansible学习记录三:配置文件

    0.配置文件 两个核心文件:ansible.cfg和hosts文件,默认都存放在/etc/ansible目录下. ansible.cfg:主要设置一些ansible初始化的信息,比如日志存放路径.模块 ...

  6. Ansible学习记录二:命令

    0.ansible 命令参数详解: [root@localhost ~]# ansible Usage: ansible <host-pattern> [options] Options: ...

  7. Ansible学习实战手记-你想要知道的可能都在这里了

    最近接触了ansible工具,查找了一些资料,也做了一些总结.希望能给刚接触的新手带来一些帮助. 此总结有实际例子,大部分也是从实践中用到才逐一总结的. 当然可能肯定一定会存在一些错误和纰漏,还望大家 ...

  8. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  9. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

随机推荐

  1. ORACLE 定时运行存储过程经常使用时间间隔

    君阁-笔记 1.建立存储过程.形如: create or replace procedure deleteTableProcedures is begin   delete POST_DAY; del ...

  2. webbrowser载入地图网页出现脚本错误解决

    对于这个问题.我整整花了一上午的时间来解决,网上关于此问题的解决差点儿找不到,于是我就尽能够能的从网上相关问题的答案中获取些灵感.功夫不负有心人.最终通过这些灵感的积累我最终攻克了此问题. 首先让我们 ...

  3. SpringBoot启动器详解pom.xml

    Spring Boot应用启动器基本的一共有44种,具体如下: 1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. 2)spring- ...

  4. cocos2d-js 3.0 rc2 自定义UI控件组件 例子:能播放动画的MenuItem。MenuItemSprite的bug

    其实总体自定义UI组件都比较简单,尤其是cocos2d-js是开源的,如果有什么不明白的直接看js代码或者C++代码即可.当然js代码基本就够了. 另外,js的ctor函数虽然说是构造函数,但毕竟不是 ...

  5. 理解Scala - 核心规则

    看到这里有几个有意思的 规则,转载于此: Read Eval Print Loop (REPL) REPL在Scala里面指的是直接运行scala.exe进入的交互式命令行模式.广义上讲,也泛指那些在 ...

  6. Naive Bayes Classifier 朴素贝叶斯分类器

    贝叶斯分类器的分类 根据实际处理的数据类型, 可以分为离散型贝叶斯分类器和连续型贝叶斯分类器, 这两种类型的分类器, 使用的计算方式是不一样的. 贝叶斯公式 首先看一下贝叶斯公式 $ P\left ( ...

  7. Path画直线与弧线

    代码地址如下:http://www.demodashi.com/demo/14754.html 前言 之前讲过Paint和Canvas的基本使用,今天来介绍下Path的使用 涉及内容有: Path画直 ...

  8. 【MySQL】局域网内:在一台电脑访问另一台电脑的mysql数据库

    1. 假设192.168.1.3为服务器2. 首先在ip为192.168.1.103的机子上能够ping 通运行->cmd>ping 192.168.1.3检查是否能ping通3. 把两台 ...

  9. android如何查看cpu的占用率和内存泄漏

    在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程度上很重要,经过查询资料,研究了一下,暂时了解到大概有以下几种方式,如果哪位高手有更好的办法,或者文中描 ...

  10. ios中地图定位

    #import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> @interface ViewController ...