软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 系统运维 -> Rundeck部署和基本使用 -> 正文阅读

[系统运维]Rundeck部署和基本使用


rundeck 介绍
Rundeck 是一款能在数据中心或云环境中的日常业务中使程序自动化的开源软件。Rundeck 提供了大量功能,可以减轻耗时繁重的体力劳动。团队可以相互协作,分享如何过程自动化,查看业务活动或执行任务。Rundeck 允许您运行任意数量的节点从一个基于 web 的任务或命令行界面。Rundeck 还包括其他功能,使其易于扩展,您自动化努力包括 ︰ 访问控制、 工作流建设、 调度、 记录和与外部源节点和选项数据集成。具体流程图参照官网的如下:
[img]http://img.blog.csdn.net/20160330113711468?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
安装
Rundeck 是你主机系统的服务器应用程序你指定一个中央行政控制中心。内部,Rundeck 将作业定义和执行历史记录存储在关系数据库中。输出从命令和工作处决保存在磁盘上,但可以转发到远程存储例如logstash。
Rundeck 分布式执行使用默认为 SSH 但插件允许您使用其他手段如 MCollective、 Salt、 WinRM 或自定义的方法的可插拔的节点执行层的命令。Rundeck 服务器配置包括定义允许的远程主机的出站用户的设置。远程计算机不需要回发到服务器进行连接。
1、安装JDK
Rundeck 是一个基于 Java Servlet 服务器,因此需要支持Java 运行环境
#java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

2、安装Rundeck

  • 这里使用的是rundeck的jar包安装,读者也可以采用rpm包方式的安装,这里看个人喜好,版本为目前最新版本,下载地址 http://rundeck.org/downloads.html
rundeck-launcher-2.6.3.jar

  • 定义Rundeck的环境变量来进行下一步的安装
#vim /etc/profile 在末尾添加
export RDECK_BASE=/opt/programs/rundeck_2.6.3 安装目录可以自己定义
#source /etc/profile
#echo $RDECK_BASE
/opt/programs/rundeck_2.6.3

  • 定义安装目录后创建之后才能安装
#mkdir -p $RDECK_BASE

  • 复制下载的jar包到安装目录夹中
#cp rundeck-launcher-2.6.3.jar $RDECK_BASE

  • 启动jar包
#cd$RDECK_BASE
#java -XX:MaxPermSize=256m -Xmx1024m -jar rundeck-launcher-2.6.3.jar

  • 等待启动成功的信息
2010-11-19 13:35:51.127::INFO:  Started SocketConnector@0.0.0.0:4440

当出现如上图的信息,表示当前服务启动成功,端口监听在默认端口4440,初始用户和密码都是admin
[img]http://img.blog.csdn.net/20160330121638905?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
启动成功后,我们可以看到rundeck的目录下有以下目录:
#ls 
etc  libext  projects  rundeck-launcher-2.6.3.jar  server  tools  var

  • 启动和关闭

在初始化jar包之后,下一次启动和关闭可以进行如下操作:
Startup
$RDECK_BASE/server/sbin/rundeckd start

Shutdown
$RDECK_BASE/server/sbin/rundeckd stop

我这里采用的是普通用户apprun登录,RPM包默认的是rundeck用户,读者可以定义启动的用户,具体修改如下:
#vim /$RDECK_BASE/etc/framework.properties
framework.ssh.keypath = /home/apprun/.ssh/id_rsa #ssh认证用户的key存放目录
framework.ssh.user = apprun                      #启动默认用户
#chown apprun:apprun rundeck_2.6.3/ -R           #修改完之后,别忘了修改rundeck目录的宿主

简单使用Rundeck
1、几个基本概念

  • Role-based Access Control Policies︰ Rundeck 访问控制策略将授予用户和用户组某些权限执行权限限制访问rundeck 资源,如项目、 工作、 节点、 命令和 API。

  • Projects ︰ 项目是分开管理活动的地方。所有的 Rundeck 活动发生在项目的上下文内。多个项目可以保持相同的 Rundeck 服务器上。

  • Jobs ︰ 作业封装步骤、 作业选项和节点在哪里执行步骤的序列。

  • Nodes ︰ 节点是一种资源,是网络访问主机物理或虚拟实例。资源模型是在项目中的节点表示。

  • Commands ︰ 命令是在一个节点上执行单个可执行字符串。Rundeck 调用命令通过节点的遗嘱执行人并计算命令字符串来执行它的节点上。

  • Executions ︰ 执行是活动的表示某一正在运行或已完成的命令或工作。关于执行数据在 rundeck 用于监测进展的工作或命令和后来的报道发生了什么事。

  • Plugins ︰ Rundeck 所做的大多数是通过其插件之一。插件的存在在节点上执行命令、 执行中的工作步骤、 发送关于作业状态的通知,收集有关您的网络中的主机的信息,将一个文件复制到远程的服务器、 存储和流日志,或谈到用户目录。

在开始之前,简述一下我的环境
rundeck-server:bd-stg-test-97

rundeck-node1:bd-stg-test-98

rundeck-node2:bd-stg-test-99
ssh认证已经做好,97上的apprun均可以免密码登录到98和99
2、添加Project

  • 点击添加



[img]http://img.blog.csdn.net/20160330121659639?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 添加项目名以及描述

[img]http://img.blog.csdn.net/20160330121748936?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 选择ssh认证key存放位置

[img]http://static.oschina.net/uploads/space/2016/0330/091959_uJH2_2673352.png
[img]http://static.oschina.net/uploads/space/2016/0330/092011_Kkac_2673352.png

  • 点击创建

[img]http://img.blog.csdn.net/20160330121808093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center


  • 创建完成后可以看到如下。此时并没有任何job和node:

[img]http://static.oschina.net/uploads/space/2016/0330/092033_sEHM_2673352.png

3、添加Node
在创建完一个project之后,在rundeck的主目录下面,保存着它的一个配置,在node的配置文件中添加节点如下:
#vim /opt/programs/rundeck_2.6.3/projects/Rundeck_Test/etc/resources.xml 
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <node name="bd-stg-test-97" description="Rundeck server node" tags="" hostname="bd-stg-test-97" osArch="amd64" osFamily="unix" osName="Linux" osVersion="2.6.32-573.el6.x86_64" username="apprun"/>
  <node name="bd-stg-test-98" description="Rundeck client node1" tags="" hostname="172.16.57.98" osArch="amd64" osFamily="unix" osName="Linux" osVersion="2.6.32-573.el6.x86_64" username="apprun"/>
  <node name="bd-stg-test-99" description="Rundeck client node2" tags="" hostname="172.16.57.99" osArch="amd64" osFamily="unix" osName="Linux" osVersion="2.6.32-573.el6.x86_64" username="apprun"/>
</project>


添加完成后,不需要重启服务,刷新后,可以看到node信息已经出现在web界面上:
[img]http://static.oschina.net/uploads/space/2016/0330/092048_ZlTa_2673352.png
我们来进行一个测试,是否能在web界面上远程控制操作两台node,这个过程类似于saltstack:
[img]http://static.oschina.net/uploads/space/2016/0330/092059_lv5G_2673352.png
执行命令很简单,每一台的执行结果也清晰地展现出来了,说明服务端与节点之间的配置已经完成了,如果出现了ssh认证错误,还要重现检查一下目录权限和ssh认证配置有没有错误。
4、添加Job

  • 创建job

[img]http://img.blog.csdn.net/20160330121826781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 添加job的命名和描述,这里只是一个简单的测试,所以还是用的上面的例子

[img]http://img.blog.csdn.net/20160330121839515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 添加命令,这里也可以添加执行自定义脚本,选择执行的node

[img]http://img.blog.csdn.net/20160330121856297?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  • 点击创建

[img]http://static.oschina.net/uploads/space/2016/0330/092145_GRfI_2673352.png

  • 执行job

[img]http://static.oschina.net/uploads/space/2016/0330/092156_0BeZ_2673352.png

  • 查看执行结果

[img]http://static.oschina.net/uploads/space/2016/0330/092209_oPG7_2673352.png
[img]http://static.oschina.net/uploads/space/2016/0330/092220_IqD3_2673352.png
rundeck的基本用法先到这,日后还会更新具体的用法。

......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-01 16:57:15  
系统运维 最新文章
linux新进程的创建
Muduo网络库源码分析(一)EventLoop事件循
Linux系统分区
haproxylvsnginx负载均衡的比较
PeopleSoft介绍
win7+iis7+asp+.net+php环境配置
执行系统命令并且将输出写到指定日志文件的
linux批量替换多个文件中的字符串
makefile中=、:=和+=的区别
Linux服务器不关机新增硬盘的方法
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年7日历
2018-7-23 6:08:58
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --