首页 » 云自动化 » k8s » 正文

360开源企业级 Kubernetes 多集群管理平台 Wayne

奇虎 360 宣布正式开源 Wayne ,这是一个由 360 搜索云平台团队开发的通用的、基于 Web 的 Kubernetes 多集群一站式可视化管理平台。内置了丰富多样的功能,满足企业的通用需求,同时插件化的方式可以方便集成定制化功能。目前 Wayne 已大规模服务于 360 搜索,承载了内部绝大部分业务,稳定管理了近千个业务,上万个容器,运行了两年多时间,经受住了生产的考验。

项目开源地址:https://github.com/Qihoo360/wayne

功能特性

  • 可视化操作:提供直观、简便的方式操作Kubernetes集群,减小学习成本,快速上线业务。
  • 多样的编辑模式:支持图形化编辑,也支持Json、Yaml两种高级定制化编辑模式。
  • 微内核架构:采用可扩展的插件化方式开发,定制化选择特性功能,更方便的集成符合企业需求的新功能。
  • 多集群管理:可以同时管理多个Kubernetes集群,更方便地管理多个集群。
  • 丰富的权限管理:将资源抽象化为部门、项目级别,角色的权限可以更细化的控制,适用于多部门、多项目的统一集中管理。
  • 多种登录模式:支持企业级LDAP登录、支持OAuth2登录,支持数据库登录多种模式。
  • 完备的审计:所有操作都会有完整的审计功能,方便追踪操作历史。
  • 开放平台:支持APIKey开放平台,用户可自主申请相关APIKey并管理自己的项目。
  • 多层次监控:提供多级别的监控统计信息,实时关注集群的运行状态。

架构图

整体采用前后端分离的方案:

  • 前端采用 Angular 框架进行数据交互和展示,使用Ace编辑器进行 Kubernetes 资源模版编辑。
  • 后端采用 Beego 框架做数据接口处理,使用 Client-go 与 Kubernetes 进行交互,数据使用 MySQL 存储。

Qihoo360_wayne 部署教程

系统

[root@master wayne]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)

部署步骤

安装docker

请参考安装docker 17.03.2.ce教程 docker 版本,安装方法是一样的

[root@master tmp]# docker version 
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:48:22 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:19:08 2018
  OS/Arch:          linux/amd64
  Experimental:     false

安装docker-compose

yum install epel-release
yum install python-pip -y
pip install pip --upgrade
[root@master tmp]# docker-compose version 
docker-compose version 1.23.1, build b02f130
docker-py version: 3.5.1
CPython version: 2.7.5
OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

2.获取代码

git clone https://github.com/Qihoo360/wayne.git
git submodule update --init --recursive

启动mysql

# cd watne; docker-compose up -d mysql

Starting wayne_mysql_1_780a202aa4f5 ... done
Attaching to wayne_mysql_1_780a202aa4f5
mysql_1_780a202aa4f5 | Initializing database
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 0 [Note] /usr/sbin/mysqld (mysqld 5.6.41) starting as process 37 ...
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 37 [Note] InnoDB: Using atomics to ref count buffer pool pages
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 37 [Note] InnoDB: The InnoDB memory heap is disabled
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 37 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 37 [Note] InnoDB: Memory barrier is not used
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 37 [Note] InnoDB: Compressed tables use zlib 1.2.3
mysql_1_780a202aa4f5 | 2018-11-19 05:24:55 37 [Note] InnoDB: Using Linux native AIO

创建数据库配置文件

[root@master tmp]# cat /tmp/dev.conf
DBName = wayne
# MySQL address,如果MySQL是通过docker-compose启动的,
# Mac OS 下无法直接通过127.0.0.1访问,请修改为实际IP 
DBTns = tcp(10.39.47.63:3306)
DBUser = root
DBPasswd = root

启动wayne服务

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

mark

登录

您可以从通过 http://ip:8080/admin 访问本地 Wayne, 默认管理员账号admin:admin。

mark

集群配置-进入后台

mark

mark

添加例子

mark

mark

mark

Done!

赞 (8)

本文共 5 个回复

  • eryajf 2018/12/01 09:33

    老兄,请问下你这个博客的主题名称叫什么,是免费模板吗?

    • zhdya 博主 2018/12/01 11:37

      @ eryajf 91PHP and free!!

      • eryajf 2018/12/03 15:36

        @ zhdya 我在网上尝试找了下,发现并没找到,或者找到的又不是这个,麻烦是否可以发我邮箱下,谢谢了

        • zhdya 博主 2018/12/03 23:00

          @ eryajf http://www.tuxingzhan.com/bk/3044.html 不就是这个么?百度下你就找到了~

          • eryajf 2018/12/05 09:05

            @ zhdya 是的,都看到了,只不过他们分享的链接都挂掉了 :cry:

发表评论