Kubernetes的搭建與配置(二):部署 Wayne 用戶界面


1、關於Wayne

簡介

GitHub:https://github.com/Qihoo360/wayne

Wayne是一個Kubernetes的可視化管理平台,通過直觀的頁面操作便可完成Kubernetes中資源的創建、部署等操作。

采用微內核架構,通過插件化的方式將不同功能盡量的分離,更利於各種定制化功能的擴展。

在此基礎上,融入了部門、項目的概念,通過RBAC的方式細化了資源控制的權限,適合建立企業內部的私有雲平台。

 

功能特性

  • 可視化操作:提供直觀、簡便的方式操作Kubernetes集群,減小學習成本,快速上線業務。
  • 多樣的編輯模式:支持圖形化編輯,也支持Json、Yaml兩種高級定制化編輯模式。
  • 微內核架構:采用可擴展的插件化方式開發,定制化選擇特性功能,更方便的集成符合企業需求的新功能。
  • 多集群管理:可以同時管理多個Kubernetes集群,更方便地管理多個集群。
  • 豐富的權限管理:將資源抽象化為部門、項目級別,角色的權限可以更細化的控制,適用於多部門、多項目的統一集中管理。
  • 多種登錄模式:支持企業級LDAP登錄、支持OAuth2登錄,支持數據庫登錄多種模式。
  • 完備的審計:所有操作都會有完整的審計功能,方便追蹤操作歷史。
  • 開放平台:支持APIKey開放平台,用戶可自主申請相關APIKey並管理自己的項目。
  • 多層次監控:提供多級別的監控統計信息,實時關注集群的運行狀態。

組件

  • Web UI: 提供完整的業務開發和平台運維功能體驗。
  • Worker: 擴展一系列基於消息隊列的功能,例如 Audit 和 Webhooks 等審計組件。

項目依賴

  • Golang 1.9+(installation manual)
  • Docker 17.05+ (installation manual)
  • Bee (installation manual) (請務必使用鏈接版本,不要使用 beego 官方版本,存在一些定制)
  • Node.js 8+ and npm 5+ (installation with nvm)
  • MySQL 5.6+ (Wayne 主要數據都存在 MySQL 中)
  • RabbitMQ (可選,如需擴展審計功能,例如操作審計和 Webhooks 等,則需部署)

架構

項目整體采用前后端分離的方案實現。

  • 前端采用Angular框架進行數據交互和展示,使用Ace編輯器進行Kubernetes資源模版編輯。
  • 后端采用Beego框架做數據接口處理,持久層采用MySQL存儲,使用client-go與Kubernetes進行交互。

 

 

基於Kubernetes部署Wayne

安裝git

[root@k8s-master ~]# yum install -y git

 

安裝 docker-compose

[root@k8s-master ~]# yum -y install epel-release python-pip

[root@k8s-master ~]# yum -y install pip install docker-compose

查看docker-compose版本

[root@k8s-master ~]# docker-compose --version

 

快速啟動

克隆代碼倉

[root@k8s-master ~]cd /etc/kubernetes
[root@k8s-master kubernetes]# git clone https://github.com/Qihoo360/wayne

啟動MySQL(可選)

如果沒有可用的 MySQL 服務,可以通過 docker-compose 快速創建: 


[root@k8s-master wayne]# cd wayne/

[root@k8s-master wayne]# docker-compose up mysql

 

創建完成后,停止MySQL服務器,創建配置文件: 

[root@k8s-master ~]# cd src/backend/conf && touch dev.conf

編輯 dev.conf ,寫入數據庫相關配置(請修改為數據庫實際地址) 

[root@k8s-master conf]# vim dev.conf

DBName = wayne

# MySQL address,請修改為實際IP

DBTns = tcp(192.168.90.80:3306)

DBUser = root

DBPasswd = root

數據未進行持久化,生產環境一定要做數據持久化,避免數據丟失 。可修改 wayne 目錄下的 docker-compose.yaml 文件實現,詳細請了解 docker volumes的應用。

 

進入Wayne根目錄,后台啟動MySQL服務

[root@k8s-master conf]# cd /etc/kubernetes/wayne && docker-compose up -d mysql

 

啟動Wayne服務

 

修改 Wayne 訪問端口為8081,默認 端口已被 8080 已被 kubernetes apiserver 占用

[root@k8s-master kubernetes]#vim /etc/kubernetes/wayne/src/backend/conf/app.conf
appname = wayne
httpport = 8081
runmode = prod
autorender = false
copyrequestbody = true
EnableDocs = true
EnableAdmin = true
StaticDir = public:static
......

進入 Wayne 跟目錄,啟動 Wayne 服務

[root@k8s-master kubernetes]# cd wayne && docker-compose up wayne

后台啟動,docker-compose up -d 服務名稱

“ Wayne配置文件路徑:/etc/kubernetes/wayne/src/backend/conf ”

 

Wayne啟動后,可以通過 http://192.168.90.82:8080/admin 訪問本地 Wayne, 默認管理員賬號 admin:admin

 

擴展應用

將wayne和mysql服務設置為開機啟動

 

賦予 /etc/rd.d/rc.local執行權限

[root@k8s-master ~]# chmod +x /etc/rc.d/rc.local

添加啟動腳本

[root@k8s-master ~]# vim /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
cd /etc/kubernetes/wayne && docker-compose up -d mysql
cd /etc/kubernetes/wayne && docker-compose up -d wayn

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM