网站首页 > 开源技术 正文
随着信息时代的持续发展,IT 运维面对越来越复杂的业务,越来越多样化的用户需求。处处都驱动着 IT 运维发展更加 灵活、便捷、安全、稳定。IT 运维的服务器的数量也从之前的几台,发展到集群和数据中心。自动化运维也是受到的IT领域更多的关注。今天跟大家分享一个大大降低 IT服务成本和自动化运维门槛的管理平台。
Rundeck 是用 Java 开发的开源自动化部署持续集成的工具应用。Rundeck的产品属性和Jenkis类似。提供Web界面和restapi来给用户使用,Web界面主要提供给非开发人员使用,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。
开源地址:https://github.com/rundeck/rundeck
官网地址:http://rundeck.org/
功能强大的Rundeck支持:
- 提供web界面和命令行来执行shell命令和job
- 自定义job步骤
- 设置shell命令/job运行周期(类似cron table的功能)
- 用户权限控制,支持LDAP/ActiveDirectory
- 保存历史日志
- 提供web API
通过上述的功能,Rundeck可以在任意数量的服务器上批量执行不同的任务,降低对自动化的部署、执行、维护的工作。
Rundeck 6 个基本概念
- Projects︰ 项目,就是咱们平时理解的那样。所有的 Rundeck 活动发生在项目的上下文内。多个项目可以保持相同的 Rundeck 服务器上。
- Jobs︰ 业务处理单元,可以理解成java中的函数把复杂命令做成一个 Job。
- Nodes︰ 资源,简单理解成一个Server,一个节点就是一台服务器。Jobs 和Commands都是再 Node 上执行的,同样一个 Projects 可以部署到多个 Server。
- Commands︰ 命令,对于你在的 resource.xml 中配置的 Node 可以用命令对其进行操作。也可以理解成是再 Xshell 上加了一层封装。
- Executions︰ 执行,表示某一正在运行或已完成的命令或工作。执行数据在 rundeck 用于监测工作或命令的进展。
- Activity:工作流,记录你最近 Commands 和 Jobs 的情况
备注:用project和tag对服务器进行分类;通过job来管理任务
Rundeck的典型应用场景
1.标准流程自动化
通过 Rundeck 定义日常标准的服务器操作过程,对服务器的操作通过Rundeck进行,便于可视化、权限控制、与审计。
2.作业调度,提供 Web 界面定义调度任务执行 shell 命令
作业调度是Rundeck的核心功能
使用场景如:
自动调度任务,提供可视化的界面查看结构反馈,支持的调度特征如:无代理、跨平台(Windows需要插件支持)、文件传输、审计报告、等等.
3.事故响应
4.自动化部署
通过持续集成系统(Jenkins)调用Rundeck实现不同环境的自动化部署和部署验证
RunDeck 安装、配置
说明:RunDeck 是用 Java/Grails 编写的,官方直接提供打包好的war包下载。其源代码供二次开发使用,其编译安装环境及过程较为复杂,故不推荐使用编译安装的方式。
1、在线安装
1.1 Debian/Ubuntu
apt-get install openjdk-8-jdk-headless wget https://dl.bintray.com/rundeck/rundeck-deb/rundeck_3.0.8.20181029-1.201810292220_all.deb dpkg -i rundeck_3.0.8.20181029-1.201810292220_all.deb
1.2 RedHat/CentOS
yum install java-1.8.0 rpm -Uvh https://repo.rundeck.org/latest.rpm yum install rundeck -y service rundeckd start
2、Rundeck配置
2.1 使用HTTP域名访问
rundeck的框架配置文件路径 $RDECK_BASE/etc/framework.properties
修改server端地址,实现域名访问。配置文件路径 $RDECK_BASE/server/config/rundeck-config.properties
grails.serverURL=http://rundeck.jiagouyun.com:4440
修改完配置文件后重启rundeck服务使其生效。域名解析正常的话,现在就可以通过域名访问系统了。
2.2 修改数据源为MySQL数据库
rundeck默认的数据是以文件的形式存储的,可以将其修改为mysql数据库。
安装MySQL数据库(略),创建rundeck数据库和用户
mysql> create database rundeck; mysql> grant ALL on rundeck.* to 'rundeck'@'localhost' identified by 'xxxxxx'; mysql> flush privileges;
修改数据源,配置文件为 $RDECK_BASE/server/config/rundeck-config.properties
#dataSource.url = jdbc:h2:file:/home/rundeck/rundeck/server/data/grailsdb;MVCC=true dataSource.url = jdbc:mysql://localhost:3306/rundeck?autoReconnect=true dataSource.username=rundeck dataSource.password=xxxxxx dataSource.driverClassName=com.mysql.jdbc.Driver
重启服务
rundeckd restart netstat -an | egrep '4440|4443'
2.3 配置SSL证书
Rundeck还支持https访问,配置过程参考:
用keytool工具生产keystore文件
keytool -keystore etc/keystore -alias rundeck -genkey -keyalg RSA -keypass admin -storepass admin
复制keystore为trustore文件
cp etc/keystore etc/trustore
修改ssl配置文件,路径 $RDECK_BASE/server/config/ssl.properties
keystore=/home/rundeck/rundeck/etc/keystore keystore.password=admin key.password=admin truststore=/home/rundeck/rundeck/etc/truststore truststore.password=admin
修改框架配置文件 $RDECK_BASE/etc/framework.properties
keystore=/home/rundeck/rundeck/etc/keystore keystore.password=admin key.password=admin truststore=/home/rundeck/rundeck/etc/truststore truststore.password=admin
注意以下几个参数:
framework.server.url framework.rundeck.url framework.server.port
修改服务端配置文件 $RDECK_BASE/server/config/rundeck-config.properties
grails.serverURL=https://rundeck.xxxxxx.com:4443
修改变量文件,$RDECK_BASE/etc/profile,增加以下参数
export RDECK_JVM="$RDECK_JVM -Drundeck.ssl.config=$RDECK_BASE/server/config/ssl.properties -Dserver.https.port=${RDECK_HTTPS_PORT}"
重启服务,访问登录页面 https://rundeck.xxxxxx.com:4443
猜你喜欢
- 2024-10-05 新配色 KAI1 要来了!登场倒计时!(全新配色)
- 2024-10-05 龙虾回归!「熟龙虾」Dunk SB 首次曝光
- 2024-10-05 为什么Java大神,都在看Spring Boot和Spring Cloud的书?
- 2024-10-05 TS「新倒钩」最新实物!网友:等不及了!
- 2024-10-05 不鸽了!元年「白蓝 AJ4」复刻日期曝光!
- 2024-10-05 新「白水泥」AJ3 实物首次曝光!发售日期有了
- 2024-10-05 TS「新倒钩」多款配色曝光!你喜欢哪个?
- 2024-10-05 Grails指南17配置之多数据源(guns多数据源配置)
- 2024-10-05 Grails指南18配置之版本(grails中文参考手册)
- 2024-10-05 Grails指南02-入门之JDK安装(jdk安装教程菜鸟教程)
你 发表评论:
欢迎- 05-14WP8.1 GDR1的NTP时间同步没有解决问题
- 05-14抑郁症与焦虑症(四):补充色氨酸,5HTP的作用
- 05-14ntp服务器多久同步一次呢
- 05-14简单三步,轻松解决NVR时间不同步问题
- 05-14Linux的300+个真实运维场景——19 NTP 配置与管理
- 05-14海康威视录像机时间不准怎么办录像机无法查看回放录像,NTP校时
- 05-14安全加倍,解密极氪001电池安全技术
- 05-14海康威视录像机NTP服务器
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)