Rainbond ubuntu20.04單主機(allinone)部署及簡單應用構建

2023-02-19 18:00:49

1、Rainbond是什麼?

Rainbond 是一個雲原生應用管理平臺,使用簡單,不需要懂容器、Kubernetes和底層複雜技術,支援管理多個Kubernetes叢集,和管理企業應用全生命週期。

2、為什麼選擇Rainbond?

Rainbond 遵循 以應用為中心 的設計理念,統一封裝容器、Kubernetes和底層基礎設施相關技術,讓使用者專注於業務本身, 避免在業務以外技術上花費大量學習和管理精力。同時,Rainbond 深度整合應用開發、微服務架構、應用交付、應用運維、資源管理,管理高度自動化,實現統一管理所有應用、所有基礎設施和所有IT流程。

3、Docker單機版rainbond安裝,參考官網url:https://www.rainbond.com/docs/installation/install-with-ui/

  • 環境說明

    兩臺ubuntu虛擬機器器(192.168.231.138 & 192.168.231.140),140節點作為kubernetes的一個節點
  • 在138主機(前提已安裝docker)上執行docker命令,建立Rainbond容器,啟動 All-In-One 控制檯

      docker run -d -p 7070:7070 \
      --name=rainbond-allinone --restart=always \
      -v ~/.ssh:/root/.ssh \
      -v /home/xujk/Work/Rainbond/rainbonddata:/app/data \
      registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond:v5.11.0-release-allinone
    

  • 通過ip+埠號7070;存取:http://192.168.231.138:7070/

  • 完成管理員註冊,使用者名稱:admin,密碼:xu**kun

  • 建立一個節點的k8s叢集測試用,節點是奇數個1,3,5...;140機器上需安裝好ssh服務

  • 點選開始安裝,會彈出執行命令框,注意:執行指令碼的使用者需要有執行sudo許可權

  • Ssh免密登入設定,否則ssh部署叢集報錯,沒有許可權

    在192.168.231.138機器上,執行命令:udo chmod 777 /home/xujk/.ssh/id_rsa;修改檔案加許可權,600許可權不可以;

  • Init_node官網指令碼需要修改,否則在ubuntu系統中執行會報錯誤

    check_user_permission方法:

    Docker有執行docker命令的許可權,但是新增叢集的時候,報error這個錯誤,su命令切賬戶會報這個錯誤,加上sudo沒問題了

    check_resource方法:

    check cpu與check memory報錯,保證你的機器能夠滿足條件即可,可以不驗證,這裡應該是ubuntu獲取cpu個數與記憶體大小沒有取到,報錯;也可以改變方法,使其在ubuntu系統中可以取到數值即可

    add_ssh_rsa方法,可以免密登入ssh:

    登出600的那行程式碼,改為執行chmod 777這行

  • 執行執行本地指令碼init_node指令碼命令,命令列切換到指令碼所在目錄執行

      export SSH_RSA="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCw1bUDbNn5lb2pLXmObit2VONV8+hdngSbycpX8mmYWTGqveXlDjG+rf6us9pklZ8kjxLIvl/SO16qx3fusIMlL771ido6g0Lv/4Vco21JYUoOWrHyIliIH88CZa3LdVE/+7ns6mX28wfvcKWNaAFvptsMj8RD5G8gHHF7bcqY8Kzspj2ReRD8oqgawoyPsJiiFrEy0vgDrigwoW5RreZ+R1oKaMf3yDyNx2vNXSp1c5SPxwqMEjOlHLlmbA8FvlG5aJ1oYG3ehFxYGj2TkHds9SNfj+vkorPrBQpBI6RikPbPzSq57LqkbxYV7ytTW1g4RFRBxaX1E2dGY5tPnDC9
      " && bash init_node
    
  • 本地清理指令碼執行命令,命令列切換到指令碼所在目錄執行:

      sudo bash clean-rke
    
  • 安裝步驟截圖

4、建立一個mysql應用元件

  • 從應用市場安裝mysql單機版

  • 進行授權即可安裝


  • 安裝過程需要幾分鐘,可檢視紀錄檔,檢視構建狀況


  • 安裝成功後,應用面板變成綠色

  • 設定mysql容器對外存取,mysql元件面板中,點選對外服務,管理存取策略



  • 通過mysql使用者端存取工具存取10000埠;連線成功


5、從原始碼構建java應用元件

  • 在admin的團隊下面,點選新建-從原始碼構建,這裡用官網的原始碼

  • 確認建立後,系統會自動識別專案資訊,幫我們構建元件

  • 過幾分鐘後,系統就會幫我們自動建立完應用,非常方便



  • 應用元件建立完後,我們可以通過元件的埠面板,檢視存取資訊


  • 我們可以通過應用下的面板,通過編排模式,從java應用拉一根線關聯到mysql,是兩個元件關聯上;這時候,java應用可以通過環境變數獲取到mysql資料庫的連線資訊等

6、安裝Kubectl CLI;參考官網https://www.rainbond.com/docs/ops-guide/tools/

  • 在使用者端機器140上執行命令

      wget https://grstatic.oss-cn-shanghai.aliyuncs.com/binary/kubectl -O /usr/bin/kubectl
      chmod +x /usr/bin/kubectl
    
  • 編輯kube組態檔,複製kubeconfig的內容到~/.kube/config檔案中

      mkdir ~/.kube/
      sudo gedit ~/.kube/config
    

  • 執行命令:kubectl get node

7、ubuntu20.04執行指令碼已上傳,僅供參考:https://gitee.com/xujk-27400861/rainbond-ubuntu20-template