CentOS7.5 Qihoo360/wayne部署(Dashboard 管理K8S集羣)

一、概述

Kubernetes 官方本身就提供了一個管理集羣的 Dashboard 插件,但是官方的 Dashboard 插件還是有一些侷限性,近日360開源了內部使用的 Kubernetes Dashboard 插件:Wayne。 Wayne 是一個通用的、基於 Web 的 Kubernetes 多集羣管理平臺。通過可視化 Kubernetes 對象模板編輯的方式,降低業務接入成本, 擁有完整的權限管理系統,適應多租戶場景,是一款適合企業級集羣使用的發佈平臺。

Wayne 已大規模服務於 360 搜索,承載了公司絕大部分業務,穩定管理了上萬個容器。

命名的起源:360 搜索私有云團隊多數項目命名都來源於 DC 漫畫的角色,Wayne 也不例外,Wayne 是聲名顯赫的超級英雄蝙蝠俠 Bruce Wayne 的名字。

架構設計

整體採用前後端分離的方案,其中前端採用 Angular 框架進行數據交互和展示,使用Ace編輯器進行 Kubernetes 資源模版編輯。後端採用 Beego 框架做數據接口處理,使用 Client-go 與 Kubernetes 進行交互,數據使用 MySQL 存儲。

CentOS7.5 Qihoo360/wayne部署(Dashboard 管理K8S集羣)

特性

  • 基於 RBAC(Role based access control)的權限管理:用戶通過角色與部門和項目關聯,擁有部門角色允許操作部門資源,擁有項目角色允許操作項目資源,更加適合多租戶場景。
  • 簡化 k8s 對象創建:提供基礎 k8s 對象配置文件添加方式,同時支持高級模式直接編輯 Json/Yaml文件創建 k8s 對象。
  • LDAP/OAuth 2.0/DB 多種登錄模式支持:集成企業級 LDAP 登錄及 DB 登錄模式,同時還可以實現 OAuth2 登錄。
  • 支持多集羣、多租戶:可以同時管理多個 Kubernetes 集羣,並針對性添加特定配置,更方便的多集羣、多租戶管理。
  • 提供完整審計模塊:每次操作都會有完整的審計功能,追蹤用於操作歷史,同時支持用戶自定義 webhook。
  • 提供基於 APIKey 的開放接口調用:用戶可自主申請相關 APIKey 並管理自己的部門和項目,運維人員也可以申請全局 APIKey 進行特定資源的全局管理。
  • 保留完整的發佈歷史:用戶可以便捷的找到任何一次歷史發佈,並可輕鬆進行回滾,以及基於特定歷史版本更新 k8s 資源。
  • 具備完善的資源報表:用戶可以輕鬆獲取各項目的資源使用佔比和歷史上線頻次(天級)以及其他基礎數據的報表和圖表。
  • 提供基於嚴密權限校驗的 web shell:用戶可以通過 web shell 的形式進入發佈的 Pod 進行操作,自帶完整的權限校驗。
  • 提供站內通知系統:方便管理員推送集羣、業務通知和故障處理報告等。

二 、Docker安裝

# 安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker軟件包源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# 更新yum包索引
yum makecache fast

# 安裝Docker CE
yum install docker-ce
# 啓動

systemctl start docker
systemctl enable docker

# 卸載
yum remove docker-ce
rm -rf /var/lib/docker

三 、docker-compose安裝

yum install python-pip -y
pip install pip --upgrade
pip install docker-compose

四、wayne安裝

git clone https://github.com/Qihoo360/wayne.git
cd wayne/
docker-compose up -d mysql
vim /app/wayne.conf
DBName = wayne
DBTns = tcp(172.16.8.200:3306)
DBUser = root
DBPasswd = root

docker run --rm  -e GOPATH=/go -v /app/wayne.conf:/opt/wayne/conf/dev.conf -p 8080:8080 360cloud/wayne /opt/wayne/backend apiserver

http://172.16.8.200:8080
用戶/密碼: admin/admin
CentOS7.5 Qihoo360/wayne部署(Dashboard 管理K8S集羣)
在左側菜單中點擊集羣 -> 列表 -> +創建集羣,可以新建一個集羣:
CentOS7.5 Qihoo360/wayne部署(Dashboard 管理K8S集羣)
CentOS7.5 Qihoo360/wayne部署(Dashboard 管理K8S集羣)
名字隨便填寫即可,Master填寫集羣的apiserver地址,然後下面的KubeConfig是最重要的,如果我們經常使用 kubectl 工具的話就應該知道這個工具的配置文件其實就是一個KubeConfig,我們只需要把需要管理的集羣的KubeConfig文件複製到這裏即可,默認路徑是~/.kube/config文件,創建完成後就可以看到添加的集羣信息了:
CentOS7.5 Qihoo360/wayne部署(Dashboard 管理K8S集羣)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章