Rundeck(一)安装与启动

目录

自动化运维工具rundeck

它能做什么

系统环境

下载与安装

主要的目录(RPM)

配置与启动(单节点)

配置mysql

mysql初始化

配置URL

启动rundeck

指定java版本

启动与开机启动

简单的配置一个nginx 代理

登录

升级

通用 RPM/YUM方式

通用war 包方式

问题汇总

问题1

问题2

问题3


自动化运维工具rundeck

GitHub - rundeck 是java开发的开源自动化服务,具有 Web 控制台、命令行工具和 WebAPI。它使您可以轻松地跨一组节点运行自动化任务,适合运维自动化管理、自动发布管理、运维数据分析等

  • 网站:https://www.rundeck.com
  • 最新文档:Rundeck | Process Automation Documentation
  • 新手引导:Rundeck | tutorial
  • 最佳实践:Rudeck | howto

它能做什么

  • 分布式命令执行
  • 工作流程(包括参数传递、条件、错误处理和多种工作流程策略)
  • 可插拔执行系统(默认为 SSH 和 WinRM;可使用 PowerShell)
  • 可插拔资源模型(从外部系统获取基础设施的详细信息)
  • 按需(Web GUI、API 或 CLI)或计划的作业执行
  • 支持密码和密钥
  • 基于角色的访问控制策略,支持 LDAP/ActiveDirectory/SSO
  • 可编辑/管理访问控制策略
  • 历史和审计日志
  • 使用任何脚本语言

社区版本基本够用,社区vs企业 | Rundeck

功能文档: 使用文档

系统环境

#环境要求:https://docs.rundeck.com/docs/administration/install/system-requirements.html测试环境:openjdk version "11.0.22"CentOS Linux release 7.4.1708 (Core) rundeck-5.2.0.20240410-1Database:mysql Server 5.7.36   #MySQL5.6已经禁用了,MySQL5.7 需要utf8mb4字符集,推荐MySQL8.0Logstore:syslog

下载与安装

下载地址
pagerduty/rundeck - Packages · packagecloud
Rundeck Community Version History
注意:Rundeck 5.0.x 需要在 Java 11 上运行
error: Failed dependencies:
有其他版本的java正在使用 -见 问题1
ubuntu debian windows tomcat docker 安装请查看官网
#https://docs.rundeck.com/docs/administration/install/
# 【java】 如果没有安装,可以使用官方推荐的java和rundeck
curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/rpm-setup.sh 2> /dev/null | sudo bash -s rundeckpro
sudo yum install java rundeckpro-enterprise #pro# RPM 方式安装
yum localinstall rundeck-5.2.0.20240410-1.noarchm
rpm -ql  rundeck     # 查看安装路径主要目录/etc/rundeck/    # 主要配置文件/var/lib/rundeck # lib库、日志、work目录等# war 包方式安装mkdir -p /opt/app/rundeckcd /opt/app/rundeck/wget https://packages.rundeck.com/pagerduty/rundeck/packages/java/org.rundeck/rundeck-4.17.6-20240402.war?distro_version_id=167java -Xms4g -Xmx4g -Xmn1024m  -jar  rundeck-5.2.0.20240410-1.war   # 启动#第一次启动需要等待一小会(383.544 s),担心卡死的可以使用 strace 命令查看一下,最后看到就是成功Grails application running at http://localhost:4440 in environment: production# 后面都是用 rpm 安装为例
主要的目录(RPM)
/etc/rundeck/               # 主要配置文件
├── profile
├── project.properties
└── rundeck-config.properties/var/lib/rundeck/           #也是用户家目录 
├── bootstrap               # war程序目录
├── data                    # H2数据库目录 --改为mysql
├── i18n                    # 本地化目录
├── libext                  # lib目录
├── projects                # 项目配置
├── repository              # 插件存储库
├── var                     # Cache目录
└── work/var/log/rundeck            #日志目录

配置与启动(单节点)

首先看看框架的默认配置文件framework.properties,可以看到大致的web信息和重要目录配置,修改之前先备份rundeck-config.properties

配置mysql
Database Configuration Overview
支持mysql、 postgresql、 sql server 、 oracle
配置文件:
RPM: /etc/rundeck/rundeck-config.properties
WAR: $RDECK_BASE/server/config/rundeck-config.properties
注意:mysql需要授权 REFERENCES 权限 - 见 问题2
#注释
#dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;DB_CLOSE_ON_EXIT=FALSE;NON_KEYWORDS=MONTH,HOUR,MINUTE,YEAR,SECONDS# 添加如下配置:
dataSource.driverClassName = org.mariadb.jdbc.Driver 
dataSource.url = jdbc:mysql://myserver/rundeck?autoReconnect=true&useSSL=false    #autoReconnect=true 连接保活 修复 Rundeck 服务器与 Mysql 的连接在一段时间内不活动后被中断,从而导致错误消息:“消息:无法从服务器读取响应"
dataSource.username = rundeckuser 
dataSource.password = rundeckpassword
#使用带有特殊字符的密码时,等号后面不要有空格
mysql初始化
mysql> create database rundeck;
mysql> create user 'rundeckuser'@'localhost' identified by 'rundeckpassword';
mysql> grant ALL on rundeck.* to 'rundeckuser'@'localhost';
mysql> GRANT REFERENCES ON *.* TO 'rundeckuser'@'localhost'; 
配置URL
web访问登录后的跳转地址
配置文件:
RPM: /etc/rundeck/rundeck-config.properties
WAR: $RDECK_BASE/server/config/rundeck-config.properties
我前端是nginx代理了 所以就改成 rundeck.example.com;
登录后一直转圈圈 - 问题3
# change hostname here
grails.serverURL=http://rundeck.example.com   #不能有空格       
# rundeck.multiURL.enabled=true 多域名配置
# 设url前缀, 默认是'/',此配置可以很好的集成到其他系统中,共用同一个域名。
# grails.serverURL=http://rundeck.example.com/rundeck
# server.servlet.context-path=/rundeck    #不能有空格

启动rundeck

指定java版本
若环境中有其他版本的java 正在使用,后续启动时需要指定java版本
#/etc/passwd
# rundeck:x:1007:1007::/var/lib/rundeck:/bin/bash#指定加载java版本
runuser -u rundeck vim /var/lib/rundeck/.bash_profileexport JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.22.0.7-1.el7_9.x86_64export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
启动与开机启动

#第一次启动需要初始化,需要等待一小会,最后看到就是成功 Grails application running at http://localhost:4440 in environment: production

# 默认启动端口
> 4440 (http)
> 4443 (https)
> 5985(Windows  http )
> 5986(Windows   https )# 命令支持功能
rundeckd [start|stop|restart|condrestart|status]# RPM 安装方式启动
# 脚本位置:/etc/init.d/rundeckd 
# 添加开机启动chkconfig rundeckd on 
#启动service rundeckd start systemctl status rundeckd # war 包方式
启动:
export RDECK_BASE='/opt/app/rundeck/'
$RDECK_BASE/server/sbin/rundeckd start # war默认监听的 127.0.0.1

简单的配置一个nginx 代理

当然也可以不用nginx代理,用 http://ip:4440 直接访问
upstream rundeck_upstream {server 127.0.0.1:4440;
}server{listen   80;server_name rundeck.example.com;access_log /data/logs/nginx/rundeck.example.com.access.log json;error_log /data/logs/nginx/rundeck.example.com.error.log;location / {real_ip_header X-Forwarded-For;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://rundeck_upstream;}
}

登录

默认用户名: admin 默认用户密码: admin

升级

升级之前做好数据和代码的备份。 不同的版本升级方式不一致,请查看升级说明 General Upgrade Guide,支持H2数据库升级,从 4.1+ 升级到 5.0,需要更新数据库结构
通用 RPM/YUM方式
在 RPM 或 Yum 升级的情况下,任何更改的配置文件都不会被修改,并且新文件将以扩展名保存 .rpmnew。如果您更改了配置文件,请将其与该 .rpmnew文件进行比较,以了解可能需要包含哪些更改。
#rpm 
rpm -Uvh rundeck-5.2.0.20240410-1.noarchwarning: /etc/rundeck/framework.properties created as /etc/rundeck/framework.properties.rpmnew
warning: /etc/rundeck/rundeck-config.properties created as /etc/rundeck/rundeck-config.properties.rpmnew
rundeck.server.uuid = XXXXXXXXXXXXXXX#yum
yum upgrade rundeck
通用war 包方式
https://docs.rundeck.com/docs/upgrading/upgrading.html#runnable-war

问题汇总

问题1

error: Failed dependencies:

java-11-headless is needed by rundeck-0:5.2.0.20240410-1.noarch

安装
yum install java-11-headless
版本切换 - 永久:
update-alternatives --display java
update-alternatives --config java
版本切换 - 临时:
若环境中有其他版本的java 正在使用,后续启动时需要指定java版本
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.22.0.7-1.el7_9.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH # java -version
openjdk version "11.0.22" 2024-01-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.22.0.7-1.el7_9) (build 11.0.22+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.22.0.7-1.el7_9) (build 11.0.22+7-LTS, mixed mode, sharing)
问题2

liquibase.exception.DatabaseException: (conn=9387) REFERENCES command denied to user

REFERENCES-command-denied-to-user错误详解 - 云数据库RDS | 百度智能云文档
在5.5和5.6版本中只需要增删查改权限即可,而5.7正式启用REFERENCES权限,需要显示的授予REFERENCES权限才能创建外键关系到表。
解决方案
对MySQL5.7版本的数据库账户,显示的授予REFERENCES权限,解决导入含外键关系表的过程中导致的报错。
GRANT REFERENCES ON *.* TO 'rundeckuser'@'localhost';
问题3

登录一直转圈,提示:Request URL: http://****:4440/ 不通

rundeck-config.properties 配置错误,需要改成你实际访问的地址
grails.serverURL= http://rundeck.example.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/316987.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式第二次测试 | 数据库连接池设计(原型模式、创建者模式、适配器模式)

需求中文如下:原本是英文,用百度翻译转换而来 我们需要设计一个工具,它负责创建一个与数据库软件MySQL的连接池。 连接池中有数百个连接可供客户端使用。 所有连接对象都有相同的内容,但它们是不同的对象。 连接对象的创建是资源密…

华为5700配置

恢复出厂设置,清空配置 1、更改名字 system-view sysname tp-10-50-01-04 2、配置管理接口 int vlan 1 ip add 10.50.1.4 255.255.254.0 quit 2、链路汇聚 interface eth-trunk 1 mode lacp quit 3、绑定端口 interface eth-trunk 1 trunkport gigabitethernet …

如何删除BigKey1

方案一 拆分为string类型 keyvalueid:0value0..........id:999999value999999 存在的问题: string结构底层没有太多内存优化,内存占用较多 想要批量获取这些数据比较麻烦 方案二 拆分为小的hash,将 id / 100 作为key, 将id …

uniApp+Vue3+vite+Element UI或者Element Plus开发学习,使用vite构建管理项目,HBuilderX做为开发者工具

我们通常给小程序或者app开发后台时,不可避免的要用到可视化的数据管理后台,而vue和Element是我们目前比较主流的开发管理后台的主流搭配。所以今天石头哥就带大家来一起学习下vue3和Element plus的开发。 准备工作 1,下载HBuilderX 开发者…

ubuntu 24.04 beta server NAT模式上网设置

在Ubuntu 24.04 Beta上设置网络通常涉及使用命令行工具。以下是设置静态IP地址和动态IP地址的步骤: 动态IP设置: 查找你的网络接口名称: ip a ens37是我NAT模型的一张网卡,此时是没有ip的。 下面介绍如何NAT模式下添加DHCP动态…

Ajax.

目录 1. 服务器相关的基础概念 1.1 服务器 1.2 客户端 1.3 服务器对外提供的资源 1.4 数据也是资源 1.5 资源与 URL 地址 1.6 什么是 Ajax 2. Ajax 的基础用法 2.1 POST 请求 2.2 GET 请求 2.3 DELETE 请求 2.4 PUT 请求 2.5 PATCH 请求 3. axios 3.1 axios 的基…

ctfshow——SQL注入

文章目录 SQL注入基本流程普通SQL注入布尔盲注时间盲注报错注入——extractvalue()报错注入——updataxml()Sqlmap的用法 web 171——正常联合查询web 172——查看源代码、联合查询web 173——查看源代码、联合查询web 174——布尔盲注web 176web 177——过滤空格web 178——过…

Mybatis-Plus扩展接口InnerInterceptor

InnerInterceptor 接口就是 MyBatis-Plus 提供的一个拦截器接口,用于实现一些常用的 SQL 处理逻辑,处理 MyBatis-Plus 的特定功能,例如PaginationInnerInterceptor、OptimisticLockerInnerInterceptor 等,都实现了 InnerInterceptor 接口,并添…

2024年Docker常用操作快速查询手册

目录 一、Linux系统上 Docker安装流程(以ubuntu为例) 一、卸载所有冲突的软件包 二、设置Docker的apt存储库(这里使用的是阿里云软件源) 三、直接安装最新版本的Docker 三、安装指定版本的Docker 四、验证Docker是否安装成功…

ES集群分布式查询原理

集群分布式查询 elasticsearch的查询分成两个阶段: scatter phase:分散阶段,coordinating node会把请求分发到每一个分片gather phase:聚集阶段,coordinating node汇总data node的搜索结果,并处理为最终结…

Esp8266 - USB开关分享(开源)

文章目录 简介推广自己gitee项目地址:嘉立创项目地址:联系我们 功能演示视频原理图嘉立创PCB开源地址原理图PCB预览 固件烧录代码编译烧录1. 软件和驱动安装2. 代码编译1. 安装所需要的依赖库文件2. 下载源代码3. 烧录代码 使用说明1. 设备配网2. 打开设备操作页面3…

第十四届蓝桥杯国赛:2023次方的思考(指数塔,数论)

首先我们要知道,正常计算的话,指数优先级最高,因此得先计算指数,比如: 2 3 2 512 2^{3^2}512 232512 欧拉定理的关键在于,它允许我们通过减少计算的指数大小来简化模运算。 经过仔细研究(看题…

品牌百度百科词条需要什么资料?

品牌百度百科词条是一个品牌的数字化名片,更是品牌历史、文化、实力的全面展现。 作为一个相当拿得出手的镀金名片,品牌百度百科词条创建需要什么资料,今天伯乐网络传媒就来给大家讲解一下。 一、品牌基本信息:品牌身份的明确 品…

kotlinDSL控制的安卓项目导入已存在的模块后sync报错

原因很明显,但是我还找了好久 因为在import时并没有选择groove还是kotlin控制, 所以默认为groovy控制的,然而主项目是由kotlin dsl控制的grale行为。 原因清楚之后,就可以去检查一下,项目里是否包含了settings.gradle和…

掌握JavaScript面向对象编程核心密码:深入解析JavaScript面向对象机制对象基础、原型模式与继承策略全面指南,高效创建高质量、可维护代码

ECMAScript(简称ES,是JavaScript的标准规范)支持面向对象编程,通过构造函数模拟类,原型链实现继承,以及ES6引入的class语法糖简化面向对象开发。对象可通过构造函数创建,使用原型链共享方法和属…

vue+elementUI实现点击左右箭头切换按钮功能

原本是可以用el-tabs做的,就像下面的样式,但是领导说不行 最后用button和element里面的el-carousel(走马灯)结合了一下 长这样 感觉还不错 可以自己改样式 代码如下: <div class"drawer-carousel"><el-carousel arrow"always" :loop"false…

基于SSM的文物管理系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的文物管理系统拥有俩种角色 管理员&#xff1a;个人信息管理、用户管理、分类管理、文物信息管理、文物外借管理、文物维修管理、留言板管理等 用户&#xff1a;登录注册、分类…

Hybrid Homomorphic Encryption:SE + HE

参考文献&#xff1a; [NLV11] Naehrig M, Lauter K, Vaikuntanathan V. Can homomorphic encryption be practical?[C]//Proceedings of the 3rd ACM workshop on Cloud computing security workshop. 2011: 113-124.[MJS16] Maux P, Journault A, Standaert F X, et al. To…

LLaMA3(Meta)微调SFT实战Meta-Llama-3-8B-Instruct

LlaMA3-SFT LlaMA3-SFT, Meta-Llama-3-8B/Meta-Llama-3-8B-Instruct微调(transformers)/LORA(peft)/推理 项目地址 https://github.com/yongzhuo/LLaMA3-SFT默认数据类型为bfloat6 备注 1. 非常重要: weights要用bfloat16/fp32/tf32(第二版大模型基本共识), 不要用fp16, f…

【目标检测】YOLOv7 网络结构(与 YOLOv4,YOLOv5 对比)

YOLOv7 和 YOLOv4 Neck 与 Head 结构对比 其实 YOLOv7 的网络结构网上很多文章已经讲得很清除了&#xff0c;网络结构图也有非常多的版本可供选择&#xff0c;因为 YOLOv7 和 YOLOv4 是一个团队的作品&#xff0c;所以在网络结构方面&#xff0c; YOLOv7 和 YOLOv4 有很多相似…