ansible安装和基本使用方法
2017-09-22 14:31
435 查看
安装
1、 python版本需要2.6以上,python -V 2、 添加yum 源 a、 vim /etc/yum.repos.d/ansible b、 添加如下内容: [epel] name = all source for ansible baseurl = https://mirrors.aliyun.com/epel/7/x86_64/ enabled = 1 gpgcheck = 0 [ansible] name = all source for ansible baseurl = http://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/ enabled = 1 gpgcheck = 0 3、 yum clean all 4、 安装ansible:yum install ansible -y
配置秘钥
1、在master和所有slave上,使用yourname用户名执行: 复制代码 代码示例: ssh-keygen -t dsa -P '' -f /home/yourname/.ssh/id_dsa 2、在master的/home/yourname/.ssh目录下,执行 : 复制代码 代码示例: cat id_dsa.pub > authorized_keys 3、将master上的authorized_keys拷贝到所有slave的相同目录下。命令: 复制代码 代码示例: scp /home/yourname/.ssh/authorized_keys yourname@192.168.38.58:/home/yourname/.ssh/ scp /home/yourname/.ssh/authorized_keys yourname@192.168.38.60:/home/yourname/.ssh/
配置
1、配置文件:ansible应用程序的主配置文件:/etc/ansible/ansible.cfg host Inventory定义管控主机:/etc/ansible/hosts 2、添加ansible客户机组,命令:vi /etc/ansible/hosts,在最后面添加如下内容: [group1] 192.168.1.234 192.168.1.235 3、修改日志输出目录vi /etc/ansible/ansible.cfg log_path = /var/log/ansible.log
使用命令
[root@master ~]#ansible group1 -m shell -a "yum install iotop" [root@master ~]# ansible group1 -m ping 192.168.1.235 | SUCCESS => { "changed": false, "ping": "pong" } 192.168.1.234 | SUCCESS => { "changed": false, "ping": "pong" } [root@master ~]# echo "aa" >ansilbetest.txt [root@master ~]# ansible group1 -m copy -a "src=/root/ansilbetest.txt dest=/tmp/" 192.168.1.235 | SUCCESS => { "changed": true, "checksum": "312382290f4f71e7fb7f00449fb529fce3b8ec95", "dest": "/tmp/ansilbetest.txt", "gid": 0, "group": "root", "md5sum": "d404401c8c6495b206fc35c95e55a6d5", "mode": "0644", "owner": "root", "size": 3, "src": "/root/.ansible/tmp/ansible-tmp-1506049655.33-221877789013378/source", "state": "file", "uid": 0 } 192.168.1.234 | SUCCESS => { "changed": true, "checksum": "312382290f4f71e7fb7f00449fb529fce3b8ec95", "dest": "/tmp/ansilbetest.txt", "gid": 0, "group": "root", "md5sum": "d404401c8c6495b206fc35c95e55a6d5", "mode": "0644", "owner": "root", "size": 3, "src": "/root/.ansible/tmp/ansible-tmp-1506049655.13-30269377020397/source", "state": "file", "uid": 0 }
常用模块
cron模块: 在指定节点上定义一个计划任务 group模块: 在所有节点上创建一个组 user模块: 在指定节点上创建一个用户名 yum模块: 在指定节点上安装软件 service模块: 启动指定节点上的服务 script模块: 在指定节点上执行脚本 ping模块: 查指定节点机器是否还能连通 get_url模块: 将url文件下载到指定节点的/tmp目录下
剧本(Playbooks)
每个剧本都是一个YAML格式的文件 例如 [root@k8smaster ansibletest]# vi test.yml - hosts: all remote_user: root vars: //定义变量 http_port: 80 newport: 200 tasks: - name: test connection ping: - name: install iotop yum: name=iotop state=latest //state: present/latest用于安装包,absent用于remove安装包 - name: iotop uninstall yum: name=iotop state=absent - name: "修改配置文件" lineinfile: dest: "/tmp/ansilbetest.txt" regexp: "{{http_port}}" line: "{{newport}}" #backup: yes backrefs: yes - name: "获取主机名" shell: hostname register: test_result - name: "修改配置文件1" lineinfile: dest: "/tmp/ansilbetest.txt" regexp: "hostname" line: "{{test_result.stdout_lines[0]}}" #backup: yes backrefs: no ... 结果如下 [root@k8smaster ansibletest]# ansible-playbook test.yml PLAY [all] ******************************************************************* TASK [Gathering Facts] ******************************************************* ok: [192.168.1.234] ok: [192.168.1.235] TASK [ping] ****************************************************************** ok: [192.168.1.235] ok: [192.168.1.234] TASK [install iotop] ********************************************************* changed: [192.168.1.234] changed: [192.168.1.235] TASK [iotop uninstall] ******************************************************* changed: [192.168.1.234] changed: [192.168.1.235] TASK [修改配置文件] ********************************************************** ok: [192.168.1.235] ok: [192.168.1.234] TASK [获取主机名] ************************************************************ changed: [192.168.1.234] changed: [192.168.1.235] TASK [修改配置文件1] ********************************************************* changed: [192.168.1.234] changed: [192.168.1.235] PLAY RECAP ******************************************************************* 192.168.1.234 : ok=7 changed=4 unreachable=0 failed=0 192.168.1.235 : ok=7 changed=4 unreachable=0 failed=0
相关文章推荐
- PRTG流量监控基本安装和使用方法
- PRTG流量监控基本安装和使用方法
- SVN的基本安装使用方法
- PRTG流量监控基本安装和使用方法及注意事项
- Ansible 源码安装与基本使用
- 源码包安装mysql的一些基本使用方法
- PRTG流量监控基本安装和使用方法
- Git的基本使用方法和安装&心得体会
- Windows下Git的安装和基本使用方法
- 源码包安装mysql的一些基本使用方法
- Kafka学习之二 Kafka基本安装使用方法
- MySQL安装和基本使用方法
- Git的基本使用方法和安装&心得体会(使用git命令行)
- CocoaPods 安装及基本使用方法
- ubunut 安装nginx基本目录结构介绍和配置使用方法
- Visual Studio 2015 的安装与基本使用方法
- ubuntu11.10安装tomcat7以及基本的目录结构和使用方法
- CocoaPods的基本安装和使用方法
- ubunut11.0安装nginx基本目录结构介绍和配置使用方法
- postgresql(V-9.1) debian7.x(wheezy)安装过程+配置详解+数据库的基本使用方法