ansible 内置参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible 内置参数相关的知识,希望对你有一定的参考价值。

参考技术A inventory内置参数

参考解释例子

1)ansible_ssh_host

将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.

eg: ansible_ssh_host=192.169.1.123

2)ansible_ssh_port  

ssh端口号.如果不是默认的端口号,通过此变量设置  

eg:ansible_ssh_port=5000

3)ansible_ssh_user    默认的 ssh 用户名   

eg:ansible_ssh_user=cxpadmin

4)ansible_ssh_passssh  

密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)   

eg:ansible_ssh_pass=’123456’

5)ansible_sudo_passsudo 

密码(这种方式并不安全,我们强烈建议使用 --ask-sudo-pass)

eg:ansible_sudo_pass=’123456’

6)ansible_sudo_exesudo 

命令路径(适用于1.8及以上版本)   

eg:ansible_sudo_exe=/usr/bin/sudo

7)ansible_connection  

与主机的连接类型.比如:local, ssh 或者 paramiko. 

Ansible 1.2 以前默认使用 paramiko.1.2 以后默认使用 'smart','smart' 方式会根据是否支持 ControlPersist, 来判断'ssh' 方式是否可行.

eg:ansible_connection=local

8)ansible_ssh_private_key_filessh 

使用的私钥文件.适用于有多个密钥,而你不想使用 SSH 代理的情况.

eg:ansible_ssh_private_key_file=/root/key

9)ansible_shell_type

目标系统的shell类型.默认情况下,命令的执行使用 'sh' 语法,可设置为 'csh' 或 'fish'.

eg:ansible_shell_type=zsh

10)ansible_python_interpreter

目标主机的 python 路径.适用于的情况: 系统中有多个 Python, 或者命令路径不是"/usr/bin/python",比如 \*BSD, 或者 /usr/bin/python,

不是 2.X 版本的 Python.我们不使用 "/usr/bin/env" 机制,因为这要求远程用户的路径设置正确,且要求 "python" 可执行程序名不可为 python以外的名字(实际有可能名为python26).

eg:ansible_python_interpreter=/usr/bin/python2.6

11)ansible_*_interpreter

定义其他语言解释器

eg:ansible_*_interpreter=/usr/bin/ruby

12)ansible_sudo

定义sudo用户

eg:ansible_sudo=cxpadmin

注:从ansible2.0开始, 

ansible_ssh_user  ----------------->ansible_user

ansible_ssh_host  ------------------->ansible_host

ansible_ssh_port    ------------------> ansible_port

Ansible的参数介绍

安装完成ansible后查看ansible的参数:ansible -h

  •  ansible 命令格式:Usage: ansible <host-pattern> [options]

ansible的一些参数

  -a MODULE_ARGS, #模块参数
  -C, --check # 干跑,白跑
  -f FORKS, --forks=FORKS #指定并发,默认5个
  --list-hosts #列出主机
  -m MODULE_NAME# 模块名称
  --syntax-check #检查语法
  -k #密码

rpm -ql ansible|more # 查看ansible生成的文件
/etc/ansible
/etc/ansible/ansible.cfg #配置文件
/etc/ansible/hosts
/etc/ansible/roles #空文件夹

  • hosts文件的配置

     打开hosts文件:vi /etc/ansible/hosts 

技术图片

  • ansible的ping命令

配置完上面的文件后进行ping命令  

第一种方法:ping命令必须有参数-k 然后输入秘钥就能ping通

技术图片

第二种方法:先生成秘钥,然后将秘钥传给需要ping的主机,完成后就可以直接ping了

技术图片

  • 1. ssh-keygen 用来生成ssh的秘钥和私钥(遇到阻塞,直接回车)

技术图片

  • 2.将公钥传给需要的服务器:ssh-copy-id [email protected]
  • 密码为远程主机的密码

技术图片

  • 130主机用ssh直接连接131主机

技术图片

 

  •  ansible的第一个命令--ping
  1. ansible 192.168.226.101 -m ping #单独机器的ping
  2. ansible 192.168.226.101,192.168.226.102 -m ping #多个机器的ping,ip之间用逗号隔开
  3. ansible all -m ping #全部机器
  4. ansible web -m ping #单个的组
  5. ansible web,db -m ping #多个组的并集
  6. ansible ‘web:&db‘ -m ping #多个组的交集
  7. ansible ‘web:!db‘ -m ping #多个组的差集,在前面但是不在后面

 

以上是关于ansible 内置参数的主要内容,如果未能解决你的问题,请参考以下文章

ansible 变量

006.Ansible自定义变量

Ansible自动化运维工具Ansible的变量定义和引用

inventory文件内置变量

ansible 清单文件定义方法

ansible自动化运维详解ansible的安装部署参数使用清单管理配置文件参数及用户级ansible操作环境构建