管理

利用主机模式选择主机
引用清单主机
先创建一个host_vars目录,在这个目录下创建一个web1文件

[root@localhost playbook]# mkdir /etc/ansible/host_vars/
[root@localhost playbook]# touch /etc/ansible/host_vars/web1
编辑清单文件
[root@localhost playbook]# vim /etc/ansible/inventory

web1  ansible_password=redhat                                               
[root@localhost playbook]# vim /etc/ansible/host_vars/web1

ansible_host: 192.168.187.129                                     
[root@localhost playbook]# ansible all --list-host              
hosts (1):
    web1
[root@localhost playbook]# ansible all -m ping
web1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}
[root@localhost playbook]# ansible web1 -m ping
web1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}
管理多个清单
[root@localhost playbook]# tree
.
├── biaybook.yml
├── files
└── inventory
    ├── qq
    └── wx

2 directories, 3 files
[root@localhost playbook]# ansible all -i inventory --list-host
  hosts (2):
    1.1.1.1
    2.2.2.2
编写动态清单
[root@localhost playbook]# vim inventory 
{bj}
1.1.1.1
12.12.12.12
[hj]
2.2.2.2
23.23.23.23
                                                                        
[root@localhost playbook]# ansible-inventory  -i inventory --list
{
    "_meta": {
        "hostvars": {}
    },
    "all": {
        "children": [
            "hj",
            "ungrouped"
        ]
    },
    "hj": {
        "hosts": [
            "2.2.2.2",
            "23.23.23.23"
        ]
    },
    "ungrouped": {
        "hosts": [
            "1.1.1.1",
            "12.12.12.12",
            "{bj}"
        ]
    }
}

配置并行
使用分叉在ansible中配置并行当Ansible处理playbook时,会按顺序运行每个play。确定play的主机列表之后,Ansible将按顺序运行每个任务。通常,所有主机必须在任何主机在play中启动下一个任务之前成功完成任务。理论上,Ansible可以同时连接到play中的所有主机以执行每项任务。这非常适用于小型主机列表。但如果该play以数百台主机为目标,则可能会给控制节点带来沉重负担。Ansible所进行的最大同时连接数由Ansible配置文件中的forks参数控制。默认情况下设为5,这可通过以下方式之一来验证
[root@localhost playbook]# ansible-config dump|grep -i fork 
DEFAULT_FORKS(default) = 5
[root@localhost playbook]# 

[root@localhost playbook]# ansible-config list|grep -i fork
DEFAULT_FORKS:
  description: Maximum number of forks Ansible will use to execute tasks on target
  - {name: ANSIBLE_FORKS}
  - {key: forks, section: defaults}
  name: Number of task forks
[root@localhost playbook]# 

管理滚动更新

默认情况下:

依次在5台主机上执行playbook中的第一个任务,然后依次在5台主机上执行playbook中的第二个任务,直到playbook中所有任务全部完成,然后执行handlers中的任务

serial: 5

先在前5台主机上执行playbook中的所有任务,包括handlers中的任务,然后在另外5台主机上执行playbook中的所有任务,包括handlers中的任务

包含或导入文件Ansible可以使用两种操作将内容带入playbook。可以包含内容,也可以导入内容。包含内容是一个动态操作。在playbook运行期间,Ansible会在内容到达时处理所包含的内容。导入内容是一个静态操作。在运行开始之前,Ansible在最初解析playbook时预处理导入的内容

导入playbook

[root@localhost playbook]# cat main.yml 
---
- name: import  install
  import_playbook: playbook.yml

- name: config
  import_playbook: config.yml

      
[root@localhost playbook]# 



[root@localhost playbook]# cat playbook.yml 
---
- hosts: all
  tasks:
    - name: install apache
      yum:
        name: httpd
        state: present
[root@localhost playbook]# 


[root@localhost playbook]# cat config.yml 
---
- hosts: all
  tasks:
      - name: stsrt httpd
        service:
           name: httpd
           state: started
[root@localhost playbook]# 


  [root@localhost ~]# ss -antl  // 查看服务是否启动
State       Recv-Q Send-Q        Local Address:Port                       Peer Address:Port              
LISTEN      0      128                       *:22                                    *:*                  
LISTEN      0      100               127.0.0.1:25                                    *:*                  
LISTEN      0      128                      :::80                                   :::*                  
LISTEN      0      128                      :::22                                   :::*                  
LISTEN      0      100                     ::1:25                                   :::*                  
[root@localhost ~]# rpm -qa|grep httpd    //查看受控机是否安装阿帕奇
httpd-tools-2.4.6-93.el7.centos.x86_64
httpd-2.4.6-93.el7.centos.x86_64
[root@localhost ~]# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值