RunDeck是用Java/Grails寫的開源工具,幫助用戶在數據中心或者雲環境中自動化各類操做和流程。經過命令行或者web界面,用戶能夠對任意數量的服務器進行操做,大大下降了對服務器自動化的門檻。RunDeck提供以下功能:php
經過以上功能,RunDeck能夠在任意數量的服務器上批量執行不一樣的任務,下降對自動化的部署、執行、維護的工做。nginx
Rundeck Web GUI就是配置好rundeck後經過Browser登陸進去的那個界面
介紹它主要的幾個概念:web
看不清的話能夠點擊鏈接放大看shell
Rundeck Gui介紹:http://images2017.cnblogs.com/blog/1189489/201708/1189489-20170805124631944-1629947656.png數據庫
resources.xml介紹:http://images2017.cnblogs.com/blog/1189489/201708/1189489-20170805125133631-1558816288.pngapache
在rundeck的主目錄下個人是rundeck_t/projects/PhiProTest/etc/resources.xml中能夠對Project進行配置服務器
----用project和tag對服務器進行分類架構
根據服務器資源的不一樣做用,能夠將服務器組分紅不一樣的項目類別,方便不一樣用戶操做。好比咱們就有一個專門的project是管理push功能的服務器。經過配置文件,能夠賦予用戶不一樣的權限,有些用戶只能查看push組的服務器資源,有些用戶能夠操做。運維
雖然用project能夠對不一樣服務器進行分組,可是同一個project的服務器有不一樣的做用。好比在push組的服務器項目中,又能夠分數據庫服務器,下載服務器,日誌服務器等等。對於這種狀況,經過給服務器打不一樣tag,這樣須要對一批服務器執行相同操做,就很是方便。ide
----經過job來管理任務
RunDeck提供一個很是強大的功能,就是能夠本身定義job。job由命令、腳本、其它的job組成。好比對於服務器上的各類web server,能夠定義不一樣的job,執行不一樣的操做。實際配置中,咱們就對apache服務器定義了三個job,分別對應啓動、中止、重啓apache服務。對於nginx服務器,定義job來配置nginx的端口號。經過job機制,用戶能夠定義、管理、維護各類腳本、操做,極大的提升自動化效率。
經過Rundeck定義平常標準的服務器操做過程,對服務器的操做經過Rundeck進行,便於可視化、權限控制、與審計。
可視化是第一位的也是Rundeck提供後續服務的一個基礎。
經過Rundeck實現任務的自動調度
經過持續集成系統(Jenkins)調用Rundeck實現不一樣環境的自動化部署和部署驗證
經過Rundeck能夠爲開發和測試提供自助化的測試環境,很方便基於不一樣版本的構件進行部署
AWS(Amazon Web Services )提供了一整套雲計算服務,讓您可以構建複雜、可擴展的應用程序。現在,成千上萬各類規模的客戶都在使用這些雲計算服務,它們涉及各個行業,包括醫療保健、傳媒、金融服務、保險、房地產和零售行業以及教育和公共部門。
Amazon EC2是一個IaaS雲服務,主要提供彈性的計算資源。通俗的講,就是提供多種類型的虛擬機。
參考資料:
http://udn.yyuap.com/forum.php?mod=viewthread&tid=30567&typeid=343
http://blog.jiguang.cn/rundeck_server_maintenance_command_script/