Kubernetes的搭建与配置(二):部署 Wayne 用户界面
1、關(guān)于Wayne
簡(jiǎn)介
GitHub:https://github.com/Qihoo360/wayne
Wayne是一個(gè)Kubernetes的可視化管理平臺(tái),通過(guò)直觀的頁(yè)面操作便可完成Kubernetes中資源的創(chuàng)建、部署等操作。
采用微內(nèi)核架構(gòu),通過(guò)插件化的方式將不同功能盡量的分離,更利于各種定制化功能的擴(kuò)展。
在此基礎(chǔ)上,融入了部門(mén)、項(xiàng)目的概念,通過(guò)RBAC的方式細(xì)化了資源控制的權(quán)限,適合建立企業(yè)內(nèi)部的私有云平臺(tái)。
功能特性
可視化操作:提供直觀、簡(jiǎn)便的方式操作Kubernetes集群,減小學(xué)習(xí)成本,快速上線業(yè)務(wù)。
多樣的編輯模式:支持圖形化編輯,也支持Json、Yaml兩種高級(jí)定制化編輯模式。
微內(nèi)核架構(gòu):采用可擴(kuò)展的插件化方式開(kāi)發(fā),定制化選擇特性功能,更方便的集成符合企業(yè)需求的新功能。
多集群管理:可以同時(shí)管理多個(gè)Kubernetes集群,更方便地管理多個(gè)集群。
豐富的權(quán)限管理:將資源抽象化為部門(mén)、項(xiàng)目級(jí)別,角色的權(quán)限可以更細(xì)化的控制,適用于多部門(mén)、多項(xiàng)目的統(tǒng)一集中管理。
多種登錄模式:支持企業(yè)級(jí)LDAP登錄、支持OAuth2登錄,支持?jǐn)?shù)據(jù)庫(kù)登錄多種模式。
完備的審計(jì):所有操作都會(huì)有完整的審計(jì)功能,方便追蹤操作歷史。
開(kāi)放平臺(tái):支持APIKey開(kāi)放平臺(tái),用戶可自主申請(qǐng)相關(guān)APIKey并管理自己的項(xiàng)目。
多層次監(jiān)控:提供多級(jí)別的監(jiān)控統(tǒng)計(jì)信息,實(shí)時(shí)關(guān)注集群的運(yùn)行狀態(tài)。
組件
Web UI: 提供完整的業(yè)務(wù)開(kāi)發(fā)和平臺(tái)運(yùn)維功能體驗(yàn)。
Worker: 擴(kuò)展一系列基于消息隊(duì)列的功能,例如 Audit 和 Webhooks 等審計(jì)組件。
項(xiàng)目依賴(lài)
Golang 1.9+(installation manual)
Docker 17.05+ (installation manual)
Bee (installation manual) (請(qǐng)務(wù)必使用鏈接版本,不要使用 beego 官方版本,存在一些定制)
Node.js 8+ and npm 5+ (installation with nvm)
MySQL 5.6+ (Wayne 主要數(shù)據(jù)都存在 MySQL 中)
RabbitMQ (可選,如需擴(kuò)展審計(jì)功能,例如操作審計(jì)和 Webhooks 等,則需部署)
架構(gòu)
項(xiàng)目整體采用前后端分離的方案實(shí)現(xiàn)。
前端采用Angular框架進(jìn)行數(shù)據(jù)交互和展示,使用Ace編輯器進(jìn)行Kubernetes資源模版編輯。
后端采用Beego框架做數(shù)據(jù)接口處理,持久層采用MySQL存儲(chǔ),使用client-go與Kubernetes進(jìn)行交互。
基于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
快速啟動(dòng)
克隆代碼倉(cāng)
[root@k8s-master ~]cd /etc/kubernetes
[root@k8s-master kubernetes]# git clone https://github.com/Qihoo360/wayne
啟動(dòng)MySQL(可選)
如果沒(méi)有可用的 MySQL 服務(wù),可以通過(guò) docker-compose 快速創(chuàng)建:
[root@k8s-master wayne]# cd wayne/
[root@k8s-master wayne]# docker-compose up mysql
創(chuàng)建完成后,停止MySQL服務(wù)器,創(chuàng)建配置文件:
[root@k8s-master ~]# cd src/backend/conf && touch dev.conf
編輯 dev.conf ,寫(xiě)入數(shù)據(jù)庫(kù)相關(guān)配置(請(qǐng)修改為數(shù)據(jù)庫(kù)實(shí)際地址)
[root@k8s-master conf]# vim dev.conf
DBName = wayne # MySQL address,請(qǐng)修改為實(shí)際IP DBTns = tcp(192.168.90.80:3306) DBUser = root DBPasswd = root
數(shù)據(jù)未進(jìn)行持久化,生產(chǎn)環(huán)境一定要做數(shù)據(jù)持久化,避免數(shù)據(jù)丟失 ??尚薷?wayne 目錄下的docker-compose.yaml 文件實(shí)現(xiàn),詳細(xì)請(qǐng)了解 dockervolumes的應(yīng)用。
進(jìn)入Wayne根目錄,后臺(tái)啟動(dòng)MySQL服務(wù)
[root@k8s-master conf]# cd /etc/kubernetes/wayne && docker-compose up -d mysql
啟動(dòng)Wayne服務(wù)
修改 Wayne 訪問(wèn)端口為8081,默認(rèn)端口已被 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 ......
進(jìn)入 Wayne 跟目錄,啟動(dòng) Wayne 服務(wù)
[root@k8s-master kubernetes]# cd wayne && docker-compose up wayne
后臺(tái)啟動(dòng),docker-compose up -d 服務(wù)名稱(chēng)
“ Wayne配置文件路徑:/etc/kubernetes/wayne/src/backend/conf ”
Wayne啟動(dòng)后,可以通過(guò) http://192.168.90.82:8080/admin 訪問(wèn)本地 Wayne, 默認(rèn)管理員賬號(hào) admin:admin
擴(kuò)展應(yīng)用
將wayne和mysql服務(wù)設(shè)置為開(kāi)機(jī)啟動(dòng)
賦予 /etc/rd.d/rc.local執(zhí)行權(quán)限
[root@k8s-master ~]# chmod +x /etc/rc.d/rc.local
添加啟動(dòng)腳本
[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
總結(jié)
以上是生活随笔為你收集整理的Kubernetes的搭建与配置(二):部署 Wayne 用户界面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 镜面屏与雾面屏
- 下一篇: howto:vaadin简短教程