• CentOS/REHL 6 安装配置Ansible


    安装:
    依赖的软件包:
    Jinja2:Python 的一个对设计师友好的现代模板语言
    PyYAML:Python 的一个 YAML 编码/反编码函数库
    paramiko:纯 Python 编写的 SSHv2 协议函数库
    httplib2:一个功能全面的 HTTP 客户端函数库
     
    安装ansible
    [root@server1-7373 ~]# yum list|grep -i ansible
    Failed to set locale, defaulting to C
    ansible.noarch                              1.9.2-1.el6                    epel
    ansible-inventory-grapher.noarch            1.0.1-2.el6                    epel
    ansible-lint.noarch                         2.0.1-1.el6                    epel
    [root@server1-7373 ~]# yum install ansible.noarch ansible-inventory-grapher.noarch ansible-lint.noarch -y
     
    简单配置:
    # vim /etc/ansible/ansible.cfg
    remote_port = 22
    private_key_file = /root/.ssh/id_rsa
     
    # 定义一个group
    [root@server1-7373 ~]# tail -n 3 /etc/ansible/hosts 
    [myservers]
    192.168.4.98
    192.168.2.98
     
    Usage;
    1. Execute simple command
    [root@server1-7373 ~]# ansible myservers -m command -a 'uptime'
    192.168.4.98 | success | rc=0 >>
     08:23:14 up 61 days,  8:02,  0 users,  load average: 0.00, 0.00, 0.00
     
    192.168.2.98 | success | rc=0 >>
     08:23:14 up 61 days, 10:01,  0 users,  load average: 0.00, 0.00, 0.00
     
    2. Cope file from local to remote server.
    [root@server1-7373 ~]# ansible myservers -m copy -a "src=/root/test.sh dest=/tmp/test.sh owner=root group=root mode=0755"
    192.168.2.98 | success >> {
        "changed": true,
        "checksum": "d51e9d0762e103dced4b6bc84e6af6d48ab44762",
        "dest": "/tmp/test.sh",
        "gid": 0,
        "group": "root",
        "md5sum": "69eaa9aae1337871c084de2e62b45109",
        "mode": "0755",
        "owner": "root",
        "size": 20,
        "src": "/root/.ansible/tmp/ansible-tmp-1437380034.46-279493020985021/source",
        "state": "file",
        "uid": 0
    }
     
    192.168.4.98 | success >> {
        "changed": true,
        "checksum": "d51e9d0762e103dced4b6bc84e6af6d48ab44762",
        "dest": "/tmp/test.sh",
        "gid": 0,
        "group": "root",
        "md5sum": "69eaa9aae1337871c084de2e62b45109",
        "mode": "0755",
        "owner": "root",
        "size": 20,
        "src": "/root/.ansible/tmp/ansible-tmp-1437380034.47-136677121174897/source",
        "state": "file",
        "uid": 0
    }
     
    3. Execute script on remote server.
    [root@server1-7373 ~]# ansible myservers -m shell -a "sh /tmp/test.sh"
    192.168.4.98 | success | rc=0 >>
     08:14:28 up 61 days,  7:53,  0 users,  load average: 0.00, 0.00, 0.00
     
    192.168.2.98 | success | rc=0 >>
     08:14:27 up 61 days,  9:52,  0 users,  load average: 0.00, 0.00, 0.00
     
    4. Install software with yum
    [root@server1-7373 ~]# ansible myservers -m yum -a 'name=httpd state=latest'
    192.168.4.98 | success >> {
        "changed": false, 
        "msg": "", 
        "rc": 0, 
        "results": [
            "All packages providing httpd are up to date"
        ]
    }
     
    192.168.2.98 | success >> {
        "changed": false, 
        "msg": "", 
        "rc": 0, 
        "results": [
            "All packages providing httpd are up to date"
        ]
    }
     
    5. Manage service
    [root@server1-7373 ~]# ansible myservers -m service -a 'name=httpd state=started'
    192.168.4.98 | success >> {
        "changed": false, 
        "name": "httpd", 
        "state": "started"
    }
     
    192.168.2.98 | success >> {
        "changed": false, 
        "name": "httpd", 
        "state": "started"
    }
     
  • 相关阅读:
    把程序的定义与实现部分用头文件与源文件分开
    简单控件的应用(二)—学生管理系统
    Java基础14
    创建插入符、输出不同效果的文字
    Java基础12
    简单控件的应用(一)—prj计算器
    简单的Win 32 Application
    最简单的音乐播放器
    消息处理初步
    基于MFC,在非客户区与客户区利用CButon类创建button
  • 原文地址:https://www.cnblogs.com/torvalds0310/p/4711086.html
Copyright © 2020-2023  润新知