【Rundeck】rundeck自動部署平台安裝和遷移
一、遷移準備
1、創建用戶、用戶組:
rundeck
rundeck
mkdir /home/rundeck/rundeck/

2、jak環境搭建:
sudo yum install -y java-1.7.0-openjdk
java -version
3、rundeck安裝目錄指定:
vim /etc/profile
內容:
export RDECK_BASE=/home/rundeck/rundeck


注:在源rundeck上並沒有在全局變量文件中添加安裝路徑,可能隻需要將jar包拷貝到安裝目錄下執行安裝即可。
4、安裝rundeck:
啟動jar包:
rundeck默認開啟4440端口
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111.x86_64/jre/bin/java -Xmx1024m -Xms256m -server -Dserver.http.port=4440 -Drundeck.ssl.config=/home/rundeck/rundeck/server/config/ssl.properties -jar /home/rundeck/rundeck/rundeck-launcher-2.0.1.jar
5、驗證echo $RDECK_BASE是否有
設置全局變量:
source /etc/profile

6、jar包初始化之後,可以使用命令啟動、關閉rundeck:
/home/rundeck/rundeck/server/sbin/rundeckd start
/home/rundeck/rundeck/server/sbin/rundeckd stop
7、添加rundeck的命令到PATH路徑:
vim /etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/data/app_platform/mongodb/bin/:/home/rundeck/rundeck/tools/bin
source /etc/profile
8、登錄訪問:
60.191.203.62:4440

問題一:
(1)用ip:port方式登錄:
輸入用戶和密碼:admin時(初始賬戶密碼),點擊登錄,會跳往主機名登錄,這是因為在配置中配置,登錄失敗:

(2)將上述地址主機名改為ip時,登錄正常:

(3)本地hosts綁定主機名,再次登錄訪問:


(4)rundeck配置文件:
rundeck的框架配置
vim etc/framework.properties

注:在此文件中修改server的url路徑重啟服務後,並不能用域名訪問,想用域名訪問的關鍵配置文件是server/config/rundeck-config.properties文件。
(5)修改server的url地址可以實現域名訪問:
vim server/config/rundeckconfig.properties
grails.serverURL=https://prod2.deployment.jidongnet.com:4440

(6)如圖配置後,用域名登錄訪問:

注:以上隻是實現http訪問,若想rundeck支持ssl以https的形式訪問,還需配置:
問題二:
rundeck支持ssl配置:
(1)用keytool工具生成keystore文件
keytool -keystore etc/keystore -alias rundeck -genkey -keyalg RSA -keypass admin -storepass admin

(2)複製keystore為truststore文件
cp etc/keystore etc/truststore

(3)修改ssl配置文件
keystore和truststore文件位置
vim server/config/ssl.properties

(4)修改框架配置文件和全局配置文件
修改端口和https的url
vim etc/framework.properties
vim server/config/rundeck-config.properties

注:未實現https方式登錄,keytool未成功!!!
二、遷移過程:
1、rundeck主目錄:
rsync -avz --progress 10.4.7.169::rundeck /home/rundeck/rundeck/
2、.ssh/目錄:
tar -czvf ssh.tar.gz .ssh/
tar -xzvf ssh.tar.gz
3、命令重啟rundeck,報錯:
java-1.6.0版本沒有

安裝java-1.6.0
yum search java
yum -y install java-1.6.0-openjdk

4、安裝後,用命令/home/rundeck/rundeck/server/sbin/rundeckd start無法啟動,
用命令行啟動 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.40.x86_64/jre/bin/java -Xmx1024m -Xms256m -server -Dserver.http.port=4443 -Drundeck.ssl.config=/home/rundeck/rundeck/server/config/ssl.properties -jar /home/rundeck/rundeck/rundeck-launcher-2.0.1.jar &
5、啟動後,可以登錄訪問,但是無法執行job,執行報錯:

5.1 日誌報錯:
不能創建日誌文件

5.2 原因:
/home/rundeck/rundeck/var/logs/目錄是一個軟連接,rsync同步過來的時候,並沒有將源目錄/data/rundeck/同步過來,因此這個目錄是無效的,導致上麵報錯。

5.3 解決辦法:
同/data/rundeck/目錄
rsync -avz --progress 10.4.7.169::rundecklog /data/rundeck/
6、同步logs後同步job,還是出現報錯:
rundeck插件jar包不支持當前rundeck版本:

節點無法連接:

6.1下載新jar包:
rundeck-ec2-nodes-plugin-1.2.jar插件java包不支持,下載新的jar包:
6.2 查看hosts是否有節點ip,若沒有則添加節點ip:
vim /etc/hosts

6.3 替換新jar包插件、添加hosts後還是報錯節點無法連接,同步失敗,修改配置中主機名節點:
grep "zg-apple-demo" ./ -r | grep -v -E "log|logs"

grep "zg-apple-demo" ./ -r | grep -v -E "log|logs|Binary" | awk -F: '{print $1}' | xargs -n 1 -I {} sed -i 's/zg-apple-demo/zg-bi-server/g' {}
7、修改主機名節點後,用命令啟動rundeck:
/home/rundeck/rundeck/server/sbin/rundeckd stop
/home/rundeck/rundeck/server/sbin/rundeckd start
7.1 報錯:
還是沒有java-1.6.0-openjdk-1.6.0.0.x86_64安裝包

7.2 報錯原因:
查看rundeck的相關配置發現,要求java-1.6.0-openjdk-1.6.0.0.x86_64版本的java環境,但是本機安裝的是java-1.6.0-openjdk-1.6.0.40.x86_64版本:
grep "java-1.6.0-openjdk-1.6.0.0.x86_64" ./ -r | grep -v "sbin"

7.3 修改配置文件中的java命令相關的配置:
/home/rundeck/rundeck/etc/profile
/home/rundeck/rundeck/etc/profile.bat
/home/rundeck/rundeck/etc/preferences.properties
修改java-1.6.0-openjdk-1.6.0.0.x86_64為java-1.6.0-openjdk-1.6.0.40.x86_64
8、修改java配置後啟動rundeck:
/home/rundeck/rundeck/server/sbin/rundeckd start
ps -ef | grep rundeck
啟動成功:

同步成功:

最後更新:2017-07-21 09:32:50