美文网首页
ansible 运行命令

ansible 运行命令

作者: xuweizhen | 来源:发表于2018-08-01 16:49 被阅读0次

ansible 运行命令

ansible运行命令,需要以下步骤:

    1. 通信
    1. 主机管理
    1. 运行命令

1. ansible通信

ansible只需要安装在一台主控机上,其他远程的主机的通信主要通过SSH,当然,你也可以通过其他的通信方式。
只有与远程主机通信后,才可以与远程host进行交互和其他操作。
使用SSH需要你输入密码,在批量操作时很不方便,所以我们可以使用免密登录

1.1 免密登录:

使用公钥认证来进行免密登录
用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen生成一个:

$ ssh-keygen

运行上面的命令以后,系统会出现一系列提示,可以一路回车。其中有一个问题是,要不要对私钥设置口令(passphrase),如果担心私钥的安全,这里可以设置一个。
运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pubid_rsa。前者是你的公钥,后者是你的私钥。
这时再输入下面的命令,将公钥传送到远程主机host上面:

$ ssh-copy-id user@host

好了,从此你再登录,就不需要输入密码了。
参考文档:
SSH用法及命令:https://blog.csdn.net/pipisorry/article/details/52269785

2. 主机管理

ansible需要在Inventory文件中配置管理的主机,否则ansible并不知道需要对哪些主机进行操作。
该文件默认使用/etc/ansible/hosts文件,也可以自己自定义
Inventory文件简单示例:

[rebatch]
192.168.99.100
192.168.99.101
rebatchservice.com.cn

[]中表示组,组下面的都是属于该组的hosts
hosts可以使用ip或域名

Inventory文件使用pattern的格式管理主机

2.1 patterns用法

patterns用于确定哪些主机和组执行task

    1. 所有主机
all
*
    1. 系列ip或host名,支持通配符*
example.com
192.168.154.60
192.168.154.*
    1. 多组之间以冒号分隔表示或的关系,一个主机可以在多个组中。
reonline:rebatch
    1. 所有执行命令的机器必须隶属reonline组但同时不在 rebatch组
reonline:!rebatch
  • 5.执行命令有机器需要同时隶属于 reonline 和 rebatch组.
reonline:&rebatch
    1. 通配符和组可以混用
example.*.com:reonline
    1. 可以在组中选择对应编号的主机,或者一部分主机
reonline[0]
reonline[0-9]
    1. 支持正则表达式,开头加上~即可
~(web|db).*\.example\.com
    1. --limit 标记来添加排除条件
ansible-playbook site.yml --limit datacenter2
    1. 从文件中读取主机名,在文件名前加上@符号
ansible-playbook site.yml --limit @retry_hosts.txt

注意
如果在inventory文件中使用同一ip的不同端口,会有问题,具体参考:
https://github.com/ansible/ansible/issues/25311
参考文档
Inventory文件指南:http://www.ansible.com.cn/docs/intro_inventory.html

运行第一条命令:

有了管理的主机和免密登录,我们可以运行第一条命令:

ansible all -m ping

如果有返回说明已成功

相关文章

  • ansible 运行命令

    ansible 运行命令 ansible运行命令,需要以下步骤: 通信 主机管理 运行命令 1. ansible通...

  • ansible基础 -- 常用模块

    一:运行shell命令(command,shell) ansible默认使用command模块运行,但该模块不支持...

  • Ubuntu 16.04安装Ansible

    安装步骤 运行以下命令查看是否安装成功: 参考:Ansible中文网

  • ansible

    Ansible特性:批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部...

  • ansible笔记

    1.安装介绍ansible 2.ansible 主机清单 3.ansible命令 4. ansible命令执行过程...

  • ansible 脚手架-3-使用 playbook 做个导演

    playbook和运行方法 shell脚本一般以.sh结尾,保存了常用的命令,可以多次运行,ansible也有类似...

  • 快速上手 Ansible

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

  • Ansible 命令

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

  • Ansible 主机清单配置文件

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

  • Ansible Playbook 剧本语法

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

网友评论

      本文标题:ansible 运行命令

      本文链接:https://www.haomeiwen.com/subject/rnrrvftx.html