• (2)ansible主机清单文件inventory


    1)inventory作用

    作用:通常用于定义要管理主机的认证信息,例如ssh登录用户名,密码等相关信息
    缺省文件:/etc/ansible/hosts

    2)定义主机组方式

    #vim /etc/ansible/hosts
    [webservers]
    192.168.1.31
    192.168.1.32
    
    [root@localhost ~]# ansible webservers -uroot -k -m ping -o
    SSH password: 
    192.168.1.32 | SUCCESS => {"changed": false, "ping": "pong"}
    192.168.1.31 | SUCCESS => {"changed": false, "ping": "pong"}
    

    3)批量定义主机

    #vim /etc/ansible/hosts
    [webservers]
    192.168.1.[31:34]
    
    [root@localhost ~]# ansible webservers -uroot -k -m ping -o
    SSH password: 
    192.168.1.32 | SUCCESS => {"changed": false, "ping": "pong"}
    192.168.1.31 | SUCCESS => {"changed": false, "ping": "pong"}
    

    4)内置参数:用户名和密码;命令行不用输入-u和-k选项

    #vim /etc/ansible/hosts
    [webservers]
    192.168.1.[31:32] ansible_ssh_user='root' ansible_ssh_pass='redhat'
    
    [root@localhost ~]# ansible webservers  -m ping -o
    SSH password: 
    192.168.1.32 | SUCCESS => {"changed": false, "ping": "pong"}
    192.168.1.31 | SUCCESS => {"changed": false, "ping": "pong"}
    

    5)内置参数:ssh端口

    #vim /etc/ansible/hosts
    [webservers]
    192.168.1.[31:32] ansible_ssh_user='root' ansible_ssh_pass='redhat' ansible_ssh_port='22'
    

    6)vars变量 :定义主机的内置参数

    #vim /etc/ansible/hosts
    [webservers]
    192.168.1.[31:32]
    [webservers:vars]
    ansible_ssh_user='root'
    ansible_ssh_pass='redhat'
    ansible_ssh_port='22'
    

    7)子组分类变量:children

    #vim /etc/ansible/hosts 
    [nginx]
    192.168.1.31
    [apache]
    192.168.1.32
    [webservers:children]
    apache
    nginx
    [webservers:vars]
    ansible_ssh_user='root'
    ansible_ssh_pass='redhat'
    ansible_ssh_port='22'
    
    [root@localhost ~]# ansible webservers -m ping -o
    192.168.1.31 | SUCCESS => {"changed": false, "ping": "pong"}
    192.168.1.32 | SUCCESS => {"changed": false, "ping": "pong"}
    [root@localhost ~]# ansible nginx -m ping -o
    192.168.1.31 | SUCCESS => {"changed": false, "ping": "pong"}
    [root@localhost ~]# ansible apache -m ping -o
    192.168.1.32 | SUCCESS => {"changed": false, "ping": "pong"}
    

    8)自定义主机清单文件

    [root@localhost ~]# ansible -i /etc/ansible/webservices webservers -m ping -o
    192.168.1.31 | SUCCESS => {"changed": false, "ping": "pong"}
    192.168.1.32 | SUCCESS => {"changed": false, "ping": "pong"}
    

    9)查看组中的主机列表

    [root@localhost ~]# ansible webservers --list-host
      hosts (2):
        192.168.1.32
        192.168.1.31
    [root@localhost ~]# ansible nginx  --list-host
      hosts (1):
        192.168.1.31
    
  • 相关阅读:
    knockout 与checkbox联动
    汤姆大叔的博客--Knockout应用开发指南
    Java 读取Properties配置文件
    [转]“在CMD下面执行命令需要加上exe后缀才能执行“的解决方案
    storm在Ubuntu环境下的单机部署
    [转] java内存分配分析/栈内存、堆内存
    Java 不可变类
    scala入门 case class
    scala入门 模式匹配
    scala入门 包和引入
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9003789.html
Copyright © 2020-2023  润新知