进Q群11372462领取专属报名福利!
#说在前面
先说说什么是云原生,2015年云原生计算基金会(CNCF)成立,目前CNCF所托管的应用已达20+,下图为其公布的Cloud Native Landscape,给出了云原生生态的参考体系,具体如下图: 小伙伴们会看到密密麻麻的一片,顿时头大,冷静过后,细细一看会发现这张CNCF图里,不仅仅有著名的例如Kubernetes、Ceph等开源产品,也有国外著名的大厂商如IBM、AWS、富士通等,甚至像我们国内自主大厂商例如华为、深信服、H3C、中兴、大华等掺和一脚,被分布在了不同的维度当中,这是怎么一个情况?其实不难理解,如今的CNCF组织类似于之前,各个网络产品厂商如果想要在数据通信领域站稳脚跟,所研发的网络产品是必须要遵循OSI开放互联参考模型及TCPIP标准。 众所周知,云原生是继云计算这种商业服务模式落地之后未来下一个被IT宠幸的一个改变IT发展的一组应用模式,用于帮助企业快速、持续、可靠、规模化地交付业务软件。云原生由微服务架构,DevOps和以容器为代表的敏捷基础架构组成。所以小伙伴们就理解了,IT各大厂商,无论是国内外还是开源,想要在IT这个圈子里持续“混下去”,大家就像刚才所提到的OSI及TCPIP标准一样,各个厂商都需要遵循“云原生标准”;当然云原生是一个庞大的体系,一时之间难以介绍的清楚和详尽,后面UP楠哥会逐步的、循序渐进帮大家理清楚在云原生这片土地作为我们该如何耕种收获。 今天我们要研讨的是在云原生领域中一个相当重要的内容即持续集成和交付(以下简称CICD),持续集成是使用自动化将单个开发人员的贡献集成到共享代码存储库中的 DevOps 实践。持续交付将重点放在更快速、更频繁地执行过程上,通过将它们合并并执行它们。那么在CICD范畴中,Jenkins项目占据Leader位置或者备受关注。何为Jenkins? Jenkins是一款开源CICD 项目,用于自动化各种任务,包括构建、测试和部署软件,Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序;另外,Jenkins 是一个扩展性非常强的软件,其功能主要通过插件来扩展。今天UP楠哥带大家研讨,通过和Jenkins和IT自动化领域的Leader位置的来自于红帽Redhat的Ansible集成,Ansible相信小伙伴们不陌生,主要是用于对接IT信息化,做自动化部署和配置;关于自动化,如果还有小伙伴们对这一方面还不是很了解,可以参考我之前写过的这篇文章《抢滩IT自动化领域的"博弈"》。 通过Jenkins结合Ansible,正所谓珠联璧合,必能掀起IT江湖上关于持续集成和交付的大波浪!闲言碎语不多讲,下面,支棱上Jenkins和Ansible集成合体形态!
#安装部署Jenkins
##安装Jenkins:
下载Jenkins的yum源仓库文件和要导入的key文件 通过yum的方式安装jenkins的依赖包和主包 启动Jenkins,监听端口默认是TCP8080 通过浏览器访问:https://JenkinsIP:8080,第一次会让我们输入Administrator的密码,这个密码是在/root/.jenkins/secrets/initialAdminPassword中保存。 创建用于平时用于工作的账户、密码和账户信息:
##设置Jenkins中文:
配置好工作账户信息后,进入Jenkins工作界面;由于都是全英文状态,如果小伙伴们想要使用中文,可以参照如下步骤:找到仪表板中的插件管理,找寻"Localization:Chinese(Simplified)" 选择好对应的插件后,进行升级并重启Jenkins。
#Jenkins集成Ansible
接下来,我们开始通过Jenkins集成Ansible,关于Ansible的一些核心概念,ad-hoc临时任务、剧本Playbook、清单inventory、模块、角色role等,小伙伴们如果还不是很了解,可以进Q群11372462,领域关于Ansible的一些概念资料来学习! 这也是较为关键的步骤;仪表板中的插件管理,找寻"Ansible Plugin 1.1",下载插件并重启Jenkins后使用。 下载后,我们测试一下,在仪表板中新建一个任务名称,如upnange-ansible 之后往下走,在"源码管理"选项卡中,找到构建一栏,增加构建步骤,选择基于Ansible的Ad-hoc临时任务命令方式。 选择好后,在主机参数中,我们牛刀小试,填写all即可,在inventory清单中,就填写我们自己的用于测试中的清单主机IP或者FQDN即可;Module模块位置我们这里暂时使用Ansible的shell模块,最后的模块执行命令,我们就测试一个最基本的传统命令hostnamectl,查看主机名、内核版本以及操作系统形态等信息。 点击立即构建: 构建后,选择控制台输出,通过控制台输出,我们就可以看到了Jenkins结合了Ansible的Ad-hoc临时任务,通过自动化模块的使用,批量的显示多台Ansible被管理节点的主机名等信息内容。
#说在最后
至此,在使用Jenkins和Ansible的珠联璧合初级合体形态,我们算是初步支棱上了!UP楠哥先帮小伙伴们支棱到这里,后面我们逐步体会云原生领域中诸如集成、强强联合的实战场景帮大家感受到云原生强大的魅力。欢迎小伙伴们加群11372462,交流IT技术,感觉这篇文章有用,也可以求个关注CSDN或者是扫描二维码,关注咱们尚文的公众号。UP楠哥和其它优秀的老师持续输出最纯粹的IT技术!
|