| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Jenkins+Ansible:助力基础设施建设 -> 正文阅读 |
|
[系统运维]Jenkins+Ansible:助力基础设施建设 |
简述《ansible自动化:操作系统初始化具体实现》《ansible自动化:基础软件的自定义安装》两篇文章我们虽然通过ansible在字符界面满足了操作需求,但是这并不友好。我们希望团队内每个人都能直接上手无缝使用,因此就需要一个图形化界面来提高可操作性。 在此我们借助Jenkins+Ansible 来实现图形化的参数化构建过程: 我们在输入IP后,根据选择的PLAYBOOK(剧本),再进一步选择不同的TAG(标签),就可以按需自动化实现我们的需求。 下面就来讲解下我们具体实现。 AnsibleAnsible作为我们的配置中心,主要依靠Playbook(剧本)进行各种自动化操作的编排。另借助Tag(标签)将整个编排过程进行细分,有助于我们进行多样性的组合,灵活复用。 在基础设施建设阶段,我们需求比较多的就是操作系统初始化、基础组件的安装,这两个场景的具体实现过程在《ansible自动化:操作系统初始化具体实现》、《ansible自动化:基础软件的自定义安装》进行了讲解,在此我们只展示下目录结构,希望大家在实现具体需求时根据ansible的目录功能合理安排。 1.基础组件初始化ansible playbook 用于安装filebeat、java、python、nginx 等各种基础组件。
2.系统初始化ansible playbook 用于操作系统初始化,如时间同步、内核参数、用户初始化、环境变量、安全基线等。
其中Tag可以根据实际情况按需添加,例如系统初始化中虽然分了很多Tag,但是我们并没有每个都使用。 Jenkins我们借助Jenkins的功能丰富的插件,来实现不同层面的需求。 1.参数化构建Jenkins自带"String Parameter"、"Choice Parameter"虽然在一定程度上满了我们对普通参数的需求,但是无法满足我们对选择参数的联动(即主动选择反应参数),如选择系统初始化剧本,可以和其相关的标签联动。 在此我们选择安装"Active Choices Plugin-in"插件,实现主动选择反应参数。将"Active Choices Reactive Parameter"配合"Multi-line String Parameter"、"Choice Parameter"实现参数化的选择。 (1)Multi-line String Parameter 多行字符串参数,便于我们输入多个IP,实现批量操作。 (2)Choice Parameter 通过此参数,可以和后面的Active Choices Reactive Parameter 进行Tag联动。 (3)Active Choices Reactive Parameter 此参数通过groovy 脚本实现PLAYBOOK和TAG的联动。 通过"Referenced parameters" 可以设置关联的源参数。 经过以上设置就可以实现参数间的联动: 2.与ansbile关联Jenkins通过"Ansible plugin"可以和ansible进行关联,当然也可以在不安装插件的情况下用shell实现。 由于我们使用普通用户执行操作,因此 总结通过jenkins + ansible 我们在图形化界面上助力了基础设施方面的建设,提升了操作友好性。另通过本次介绍,希望我们能了解到jenkins不只是在DevOps中才发挥其价值,在自动化建设方面也同样能出一份力。 在此我们并没有使用Jenkins pipeline,因为ansible playbook的编排一定程度上在操作系统级上都实现了。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 10:03:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |