架构源于实践(Ansible配置搭建)

只有非常努力,才能看起来毫不费力

本文是原创持续连载发布,这篇主要讲解Ansible的搭建及其一些基本的使用命,亲手搭建Ansible环境,因为并没有实战经验,所以本文对于Jenkins+Ansible自动化持续部署没有做讲解(不敢误人子弟),但偶尔会对Ansible在自动化持续部署中所起的作用可讲解一二。如有文中有书写或部署问题,请留言指导修正,互相交流,共同进步,本人QQ:417213902。

一、Ansible 环境搭建

1、Ansible介绍及作用

1.1介绍

Ansible是一种集成IT系统的配置管理, 应用部署, 执行特定任务的开源平台,它基于Python语言实现,部署只需在主控端部署环境, 被控端无需安装代理工具,只需打开SSH,让主控端通过SSH秘钥认证对其进行所有的管理监控操作,相对适合部署到数量比较大且对系统软件安装要求比较严格的集群中。

1.2主要作用

  • 配置管理 -playbook
    将大量命令行配置集成到一起形成一个可定制的多主机配置管理部署工具,它通过YAML格式定义, 可以实现向多台主机的分发应用部署;
  • 应用部署
    一般都是结合Jenkins配套使用

2、Ansible搭建

说明: 这一步只是为了提供更多、便捷的yum源的软件。

  • 第二步,安装Ansible
    # yum install ansible -y
    说明:需要python环境,初次安装需要一点时间,默认安装目录在/etc/ansible 下
  • 第三步,在ansible中配置组
    # cd /etc/ansible
    # cp hosts hosts.bak
    # cat /dev/null > ansible
    #vi hosts
[deployServer] #组名称,可根据需求定义
192.168.1.110
192.168.1.112
  • 第四步, 配置服务器间的秘钥认证
    目的是Ansible宿主服务和应用服务器间通信时不需要再次输入密码
    ⑴ 在Ansible服务器上生成密钥对,使用ssh-keygen -t rsa命令
    # cd ~
    # ssh-keygen -t rsa 直接回车
    # cd ~/.ssh/
    # ll
    image.png

    出现id_rsa 和 id_rsa.pub 这两个文件表示成功
    image.png

    ⑵把生成的 id_rsa.pub 文件复制到应用服务器上
    # scp id_rsa.pub root@192.168.1.110:~/.ssh/
    需要输入110服务器的root密码
    文件复制成功
    把公钥复制到authorized_keys里
    ⑶验证是否成功
    # ssh root@192.168.1.110
    应该是无秘自动登录,表示成功,否则请重新检查配置步骤

到目前配置为止,已经Ansible基本配置已经完成

  • 第五步,测试
    重启deployServer组所有SSH服务
    # ansible deployServer -m service -a "name=sshd state=restarted"


    image.png

出现以上表示成功,若失败,请检查
1、防火墙是否已经关闭
2、sshd服务是否已经打开
3、秘钥认证是否成功

3、Ansible常用命令

  • 远程命令模块
    command: 执行远程主机SHELL命令:
    # ansible deployServer -m command -a "free -m"


    image.png
  • 远程执行本地SHELL脚本(类似scp+shell)
    # echo "date" > ~/test.sh
    # ansible deployServer -m script -a "~/test.sh"


    image.png
  • copy模块
    实现主控端向目标主机拷贝文件, 类似scp功能
    # ansible deployServer -m copy -a "src=~/test.sh dest=/tmp/ owner=root group=root mode=0755"

  • stat模块
    获取远程文件状态信息, 包括atime, ctime, mtime, md5, uid, gid等信息
    # ansible deployServer -m stat -a "path=/etc/sysctl.conf"

  • get_url模块
    实现在远程主机下载指定URL到本地
    # ansible deployServer -m get_url -a "url=http://www.baidu.com dest=/tmp/index.html mode=0400 force=yes"

  • cron模块
    远程主机crontab配置
    # ansible deployServer -m cron -a "name='check dir' hour='5,2' job='ls -alh > /dev/null'"

  • service模块
    远程主机系统服务管理
    # ansible deployServer -m service -a "name=crond state=stopped"
    # ansible deployServer -m service -a "name=crond state=restarted"
    # ansible deployServer -m service -a "name=crond state=reloaded"

  • user服务模块
    远程主机系统用户管理
    添加用户:
    # ansible deployServer -m user -a "name=deploy comment='test'"
    删除用户:
    # ansible deployServer -m user -a "name=deploy state=absent remove=yes"

没有具体的实践,不做任何评价,从现在自己的了解程度上来看,还是比较简单的,知识够用就好,需要深入的小伙伴们,可以自行查询官方学习手册,内容还是比较全的。通过这几天的学习,在自动化持续发布中,Ansible其实就是充当着脚本执行的功能,其实感觉如果采用上一篇文章中的插件也是可以实现,好吧!YY结束,有什么问题,留言板、留言板,大家一起学习,讨论,进步!!!
下一篇终于可以开始解决单点问题,自动化部署目前就这样了,后期有什么新的想法再补充。
2017-11-14 23:42:00

参考文档 :
国内最专业的Ansible中文官方学习手册
http://www.ansible.com.cn/docs/playbooks_intro.html#about-playbooks
一路向北的博客
http://www.showerlee.com/archives/1649

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,656评论 18 139
  • ###### Ansible总结 ##### 运维工作: 系统安装(物理机、虚拟机)-->程序包安装、配置、服务启...
    二郎5阅读 2,030评论 0 4
  • ansible 系统架构 ansible简介ansible是新出现的自动化运维工具,ansible是一个配置管理和...
    运维阿文阅读 9,586评论 1 52
  • 一.ansible (1) ansible: ansible是一款新出现的自动化运维系统,基于python开发并集...
    楠人帮阅读 1,943评论 0 8
  • 本文主要内容均收集于网络上的博文资料,仅以此文作为学习总结。BTW,目前Ansible对python3的支持还不是...
    qiuyi943阅读 18,234评论 1 15