简介

rundeck 是一个在多机器环境下实现自动化执行以及调度任务的开源工具。rundeck 提供了web 界面,用户可以通过web 界面定制任务,调度,观察节点的执行情况。

安装与配置

安装

rundeck 的官网位置rundeck
rundeck 运行依赖于java,因此需要首先安装并配置java

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

在 /etc/profile.d 目录下创建 java.sh, 在java.sh 中写入

#!/bin/bash
JAVA_HOME=/usr/bin/java
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME
export CLASSPATH=.

为java.sh 添加执行权限

chmod +x /etc/profile.d/java.sh

使java环境变量生效

source /etc/profile.d/java.sh

使用yum 安装rundeck

rpm -Uvh http://repo.rundeck.org/latest.rpm
yum install rundeck

如果使用yum 安装失败,可以使用rpm 的方式安装。

wget http://download.rundeck.org/rpm/rundeck-2.11.5-1.56.GA.noarch.rpm
wget http://download.rundeck.org/rpm/rundeck-config-2.11.5-1.56.GA.noarch.rpm
rpm -i rundeck-2.11.5-1.56.GA.noarch.rpm rundeck-config-2.11.5-1.56.GA.noarch.rpm

启动rundeck 服务

/etc/init.d/rundeckd start

检查rundeck 是否启动

ps -ef | grep rundeck
netstat -anp | grep 4440

配置

更改默认用户名密码

rundeck 默认用户名密码都是admin,可以更改/etc/rundeck/realm.properties 文件中相应位置。更改后重启rundeck 服务

service rundeckd restart

更改根url设置

如果只在部署rundeck的机器访问rundeck web界面则不需要

vim /etc/rundeck/rundeck-config.properties
vim /etc/rundeck/framework.properties

把这两个文件中所有的localhost 更改为本机的ip地址然后保存

添加node节点

在下面示例中展示

示例

在浏览器中输入rundeck 地址,以我部署的服务为例http://10.4.227.26:4440/

默认输入 admin admin 登录, 登录后新建一个project

输入新建project 的名称以及描述其他按照默认选择,以test 为例,滚动到页面最后点击create 创建


下一步继续按照默认配置保存
新建工程后,我们查看工程下的node 节点

可以看到默认情况工程下只有server node 节点。为了添加其他节点,我们进入到 /var/rundeck/projects/test/etc 路径,编辑resources.xml 文件,默认情况resources.xml 下只有server node, 如下图

<?xml version="1.0" encoding="UTF-8"?><project><node name="10.4.227.26" description="Rundeck server node" tags="" hostname="10.4.227.26" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-123.el7.x86_64" username="rundeck"/>
</project>

以10.4.227.21为例,添加node节点,添加client node 节点后配置如下

<?xml version="1.0" encoding="UTF-8"?><project><node name="10.4.227.26" description="Rundeck server node" tags="" hostname="10.4.227.26" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-123.el7.x86_64" username="rundeck"/><node name="10.4.227.21" description="Rundeck client node" tags="" hostname="10.4.227.21" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-123.el7.x86_64" username="liuce03"/>
</project>

新增的hostname username 需要配置正确。
完成配置后,刷新web 界面,可以看到新增的10.4.227.21

仅仅在rundeck server 添加如下配置不能实现rundeck server 到client 的无密码连接。因此,我们登录到rundeck client机器(10.4.227.21),将 rundeck server(10.4.227.26) /var/lib/rundeck/.ssh/id_rsa.pub 的内容追加到 client 机器中的 ~/.ssh/authorized_keys
以上就完成rundeck node 节点的添加。下面我们测试通过web 界面配置在指定的node 节点上执行命令

选择所有节点后,我们以执行 ls /tmp 为例

点击右上角的执行,执行结果如下

除了简单的命令,rundeck job 支持实现更加复杂的任务。我们以执行脚本为例进行说明。首先新建一个job

配置job 的名称以及描述

在step 中选择执行脚本任务

点击后编辑脚本并保存

选择执行job 的node, 这里我们选择client node(10.4.227.21) 执行

其他使用默认配置,点击创建,创建完成后执行job

执行结果如下

可以看到在rundeck client 上执行了job 指定的脚本(执行 whoami 以及 ifconfig)

思考

rundeck 在完成初始配置后可以很方便用于在一组机器上执行各种任务,这种场景在生产环境以及日常运维中非常常见,类似的工具还有jenkins
前段时间公司部门要求开发自动部署工具,全套使用脚本+ ssh 的方式,健壮性和稳定性都存在不少问题。类似的自动部署的功能完全可以使用rundeck 配置job 的方式执行而不需要重新造轮子再搞一套鸡肋的东西。

rundeck CentOS 部署以及配置相关推荐

  1. centos部署Redis和Java开发(Jedis)

    centos部署Redis和Java开发(Jedis) 1.部署Redis 1)下载:http://redis.io/download    2)解压编译: $ tar xzf redis-3.2.3 ...

  2. K8S精华问答 | CentOS下如何配置主机互信?

    作为是Google开源的容器集群管理系.在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性.今天,我们就来看看关于k ...

  3. CentOS部署SpringBoot项目(二)

    v阅读目录 vLinux部署springboot vIntelliJ IDEA打包 vspringboot部署CentOS v相关常用命令 v博客总结 Linux部署SpringBoot 1. < ...

  4. 1 企业实战(3) Redis服务部署和配置详解 (资源)

    前言: 环境介绍: CentOS 7.5 Redis 5.0.0 gcc 下载: http://download.redis.io/releases/ 安装redis: [root@localhost ...

  5. ​信息管理系统整合XtraReport报表平台之Asp.Net Core站点CentOS部署​

    信息管理系统整合XtraReport报表平台之CentOS部署 信息管理系统:SpringCloud 前端Vue 此处XtraReport为Asp.net Core项目 DevExpress V20. ...

  6. linux搭建虚拟化平台报告,Centos部署KVM虚拟化平台(可跟做)

    Centos部署KVM虚拟化平台(可跟做) 发布时间:2020-08-19 05:47:46 来源:51CTO 阅读:4210 作者:俊伟祺i 一.KVM概述 KVM是Kernel Virtual M ...

  7. Prometheus监控系列一 | 安装部署及配置

    Prometheus监控系列一 | 安装部署及配置 文章目录 0 简介 1 基础环境 2 安装Prometheus 2.1 安装 2.2 配置开机自启动 2.3 启动服务 2.4 验证 3 安装Gra ...

  8. centos部署rocketMQ,172.xx.xx.xx:10911,failed错误

    阿里云centos部署rocketmq报connect to <172.xx.xx.xx:10911> failed 搜索发现网上原因比较零碎,大部分是说与网卡有关,明明ip配的是外网IP ...

  9. 阿里云单机CentOS部署MinIO的OSS服务

    阿里云单机CentOS部署MinIO的OSS服务 使用Docker拉取MinIO镜像 Docker运行MinIO服务 阿里云端口开启 开启阿里云防火墙端口 开启CentOS服务器端口 访问MinIO网 ...

最新文章

  1. 交换机4种网络结构:级联、端口聚合、堆叠、分层—Vecloud微云
  2. create view必须是批处理中仅有的语句_sqlserver 脚本和批处理指令小结
  3. 五十二、Python北京美团汉堡外卖数据分析实战
  4. linux 修改hostname
  5. hexo github pages 搭建博客
  6. android监听通知消息 脚本,Bash玩转脚本4之搞一套完整的Android反编译与分包工具...
  7. Codeforces 719B Anatoly and Cockroaches(元素的交叉排列问题)
  8. Caused by: java.lang.ClassNotFoundException: org.springframework.orm.hibernate4.HibernateTemplate
  9. 高等数学第七版同济大学课后习题讲解上下册
  10. 大麦dw11sa不拆机刷机padavan+breed
  11. 用计算机制作动画的方法,电脑怎么制作flash动画?电脑制作flash动画的方法
  12. fpga时序相关—set_input_delay和set_output_delay
  13. 掌握一项陌生技能,没你想得那么难
  14. 良仓远行 · 硅谷遇上西雅图,同游招募
  15. Java JDK 下载官方网站
  16. 计算机专业英语博士就业情况,英语专业博士就业前景
  17. maven idea java_使用IntelliJ IDEA建立Maven java项目
  18. 原始值和引用值类型及区别
  19. 智能运维和数字孪生赋能智慧城市管理服务平台
  20. 自定义view实现未读消息提示(小红点)

热门文章

  1. 如何用unity制作一个桌面宠物?
  2. python if嵌套语句_Python if语句的嵌套
  3. 【Android】Android安卓架构MVC、MVP、MVVM之间的区别和联系(图解+案例+源码)
  4. 计算机组成原理rll编码,计算机组成原理自考复习资料(8) _ 重庆自考网
  5. Android ndk abiFilters 无效 解决方案
  6. 人际关系处理文库 怎样与女人相处 怎样与领导相处 张胜利 岳贵安著 PDF 网盘免费...
  7. 使用腾讯云cos搭建图片服务器
  8. 工具人在Excel使用中经常遇到的几个问题及解决方法的分享
  9. CF821 C. Okabe and Boxes 栈模拟
  10. 8月英杰传!看看有没你认识的?