博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ansible的快速入门
阅读量:6685 次
发布时间:2019-06-25

本文共 1512 字,大约阅读时间需要 5 分钟。

    Ansible 是一个简单的自动化引擎,可完成配置管理,应用部署,服务编排等各种IT需求。

Ansible使用python语言开发实现的开源软件,依赖于Jinjia2,paramiko和PyYAML这几个python库。

 

安装Ansible

可以使用yum或者pip安装。

yum -y install python-pippip install ansible

 

Ansible的配置文件

/etc/ansible/ansible.cfg

[defaluts]                      remort_port= 2092               remot_user= scott               inventory= /etc/ansible/hosts

  

配置远程服务器列表

    ansible会默认读取/etc/ansible/hosts配置的远程服务器列表,可以通过/etc/ansible/ansible.cfg修改读取的文件位置。

[appservers] 192.168.1.105     #默认的连接用户是root,端口是22,也可以在/etc/ansible/ansible.cfg修改这些默认配置 120.77.85.76 ansible_port=2085 ansible_user=devop1 #也可以指定指定端口和用户[dbservers]192.168.1.45

  注意appservers里的成员我已经配置好了ssh的密钥连接,配置的方方法参考:

 

Ansible的ad-hoc模式

使用ansible命令执行操作的方式成为ad-hoc,对应的playbook方式操作远程服务器。

 格式: ansible  hostname || hostgroup || all   -m module_name  -a  module_args

使用ping模块

由于dbservers没有配置ssh密钥连接,需要加上--ask-pass,输入用户的密码,如果是sudo的权限需要加上--ask-become-pass

 

使用command模块执行shell命令

由于command模块是默认的模块也可以省略

另外常见的模块还有copy,file,apt等。

使用Ansible-playbook

编写yaml格式的playbook

 

---   - hosts: webservers  become: yes  become_method: sudo  tasks:   - name: ping server     ping:   - name: copy file to remote server     copy: src=/tmp/data.txt dest=/tmp/data.txt   - name: chnage mode     file: dest=/tmp/data.txt mode=500 owner=scott group=scott   - name: ensure packeges installed     yum: pkg={
{ item }} state=present with_items: - lrzsz - git

 

 hosts关键字声明Playbook应用服务器列表

    become和become_method是在远程服务器通过sudo操作。

    该Playbook包含若干个task,

    第一个是判断服务器是否在线

    第二个是复制本地文件到远程服务器

    第三个是修改文件权限

    第四个是安装软件

 

转载地址:http://kshao.baihongyu.com/

你可能感兴趣的文章
谈谈加载(Loading)的那点事
查看>>
关于nginx的Job for nginx.service failed because the control process exited with error code.错误
查看>>
微信公众平台开发(108) 微信摇一摇
查看>>
OfType 使用LINQ查询动态数组中指定类型的元素
查看>>
linux环境中如何删除文件的前n行?
查看>>
.Net转Java自学之路—SpringMVC框架篇七(Json数据交互)
查看>>
jQuery通过name获取值
查看>>
团队任务二
查看>>
Python读写excel
查看>>
phpcms网站搬家 至 服务器 完整并且详细过程
查看>>
myBatis针对不同数据库的模糊查询
查看>>
列表转字典
查看>>
编译基于obs-studio的阿里巴巴直播工具tblive的过程和常见问题解决
查看>>
mac下使用gnu gcc
查看>>
windows cmd命令学习
查看>>
002-利润计算
查看>>
Tensorflow实现CNN
查看>>
543. Diameter of Binary Tree(两节点的最长路径)
查看>>
数字证书算法概念
查看>>
Git 分支(分布式版本控制系统)
查看>>