Rundeck部署和基本使用

rundeck 介绍

Rundeck 是一款能在数据中心或云环境中的日常业务中使程序自己主动化的开源软件。

Rundeck 提供了大量功能。能够减轻耗时繁重的体力劳动。团队能够相互协作,分享怎样过程自己主动化,查看业务活动或执行任务。Rundeck 同意您执行随意数量的节点从一个基于 web 的任务或命令行界面。Rundeck 还包含其它功能,使其易于扩展,您自己主动化努力包含 ︰ 訪问控制、 工作流建设、 调度、 记录和与外部源节点和选项数据集成。

详细流程图參照官网的例如以下:

安装

Rundeck 是你主机系统的server应用程序你指定一个中央行政控制中心。

内部。Rundeck 将作业定义和运行历史记录存储在关系数据库中。

输出从命令和工作处决保存在磁盘上,但能够转发到远程存储比如logstash。

Rundeck 分布式运行使用默觉得 SSH 但插件同意您使用其它手段如 MCollective、 Salt、 WinRM 或自己定义的方法的可插拔的节点运行层的命令。

Rundeck server配置包含定义同意的远程主机的出站用户的设置。

远程计算机不须要回发到server进行连接。

1、安装JDK

Rundeck 是一个基于 Java Servlet server。因此须要支持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 [email protected]:4440

当出现如上图的信息,表示当前服务启动成功。port监听在默认port4440。初始用户和password都是admin

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 server上。
  • Jobs ︰ 作业封装步骤、 作业选项和节点在哪里运行步骤的序列。
  • Nodes ︰ 节点是一种资源,是网络訪问主机物理或虚拟实例。资源模型是在项目中的节点表示。
  • Commands ︰ 命令是在一个节点上运行单个可运行字符串。Rundeck 调用命令通过节点的遗嘱运行人并计算命令字符串来运行它的节点上。
  • Executions ︰ 运行是活动的表示某一正在运行或已完毕的命令或工作。关于运行数据在 rundeck 用于监測进展的工作或命令和后来的报道发生了什么事。
  • Plugins ︰ Rundeck 所做的大多数是通过其插件之中的一个。

    插件的存在在节点上运行命令、 运行中的工作步骤、 发送关于作业状态的通知,收集有关您的网络中的主机的信息。将一个文件拷贝到远程的server、 存储和流日志,或谈到用户文件夹。

在開始之前。简述一下我的环境

rundeck-server:bd-stg-test-97

rundeck-node1:bd-stg-test-98

rundeck-node2:bd-stg-test-99

ssh认证已经做好。97上的apprun均能够免password登录到98和99

2、加入Project

  • 点击加入

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

  • 加入项目名以及描写叙述

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

  • 选择ssh认证key存放位置

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

  • 点击创建

  • 创建完毕后能够看到例如以下。此时并没有不论什么job和node:

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界面上:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

我们来进行一个測试,能否在web界面上远程控制操作两台node,这个过程类似于saltstack:

运行命令非常easy,每一台的运行结果也清晰地展现出来了,说明服务端与节点之间的配置已经完毕了,假设出现了ssh认证错误,还要重现检查一下文件夹权限和ssh认证配置有没有错误。

4、加入Job

  • 创建job

  • 加入job的命名和描写叙述,这里仅仅是一个简单的測试,所以还是用的上面的样例

  • 加入命令。这里也能够加入运行自己定义脚本。选择运行的node

  • 点击创建

  • 运行job

  • 查看运行结果

rundeck的基本使用方法先到这,日后还会更新详细的使用方法。

时间: 2024-10-20 17:10:40

Rundeck部署和基本使用的相关文章

rundeck 自动发布平台

Rundeck 部署使用 个人理解: rundeck的优势: 可以记录下来编辑的操作形成流程 运行记录可以记录下来 ansible的优势: 操作比较简单,无需复杂配置,命令行就可搞定,相对灵活 **有独特见解的朋友们,也可以留言,还望不吝赐教** 参考网站:https://www.cnblogs.com/bugsbunny/p/7614958.htmlhttps://yq.aliyun.com/articles/136461https://my.oschina.net/guol/blog/517

SSH免密码登录,实现数据传输备份

1.ssh的登录方式 1.1 密码口令 客户端连接上服务器之后,服务器把自己的公钥传给客户端 客户端输入服务器密码通过公钥加密之后传给服务器 服务器根据自己的私钥解密登录密码,如果正确那么就让客户端登录 1.2 公钥认证 这个其实比上面的要简单,之前上大学时老师也讲过.一定要明白客户端和服务端时通过公钥和私钥实现认证登录的.一定要牢牢记住就是只靠这两个东西,没有其他的了. 拿自动化部署举例,Rundeck部署在一台服务器上现在要对其他的一台或者多台部署服务器进行项目部署,在这个场景下Rundec

rundeck安装和部署

网上搜rundeck,安装部署寥寥无几,有的也是copy来copy去真的没意思啊,还不如看官方文档快得多. 所以我把自己部署的整理下: 特别要注意的地方:由于我用的是jdk1.8 所以迟迟不成功,看官方解释: If you get an error message that resembles the one below, you probably are using an unsupported Java version. Exception in thread "main" jav

【自动部署】服务器自动化操作 RunDeck

RunDeck 是用 Java/Grails 写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程.通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛. RunDeck的作用: 在浏览器中执行服务器上任何非交互命令,比如ps, /etc/init.d/xxx restart,注意ssh之类的要在执行中输入密码的肯定不支持 对接服务器上的一键运维脚本,变成一个Job, 执行时只要点击按钮Run 自动记录命令操作记录和输出. 预览一下官网的几张图

Rundeck概况

1.Rundeck介绍 RunDeck是用Java/Grails写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程.通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛.RunDeck提供如下功能: 1. 提供web界面和命令行来执行shell命令和job 2. 自定义job步骤 3. 设置shell命令/job运行周期(类似cron table的功能) 4. 用户权限控制,支持LDAP/ActiveDirectory 5. 保存历史日志 6

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

Spring Boot 热部署

需要在pom.xml文件中加如下代码: 1 <dependencies> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-devtools</artifactId> 5 <optional>true</optional> 6 </dependency> 7 </depe

Centos7.2部署.Net Core2.0 WebApi

部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs中的BuildWebHost方法为(不改也可,core默认使用Kestrel作为Server) public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel()

eclipse部署tomcat修改项目访问路径(虚拟路径)

原文参考: http://www.educity.cn/wenda/147993.html http://blog.163.com/java_zf/blog/static/19926038420129240314546/ tomcat部署web项目(eclipse自动部署项目到tomcat,访问URL中不包含部署名) 最近项目中需要把项目部署到tomcat中,并且访问路径中不包含不署名,且想实现Eclipse中的自动部署,扒了好久资料,最终实现了自己的需求,呵呵,如下: 1. 把项目contex