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

1、概述

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

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

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

架構設計

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

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

4、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集羣)git

相關文章
相關標籤/搜索