szhaoyu / KubeOperator

KubeOperator 是一个开源项目,通过 Web UI 在 VMware、OpenStack 和物理机上规划、部署和运营生产级别的 Kubernetes 集群。支持内网离线环境、支持 GPU、内置应用商店,已通过 CNCF 的 Kubernetes 软件一致性认证。

Home Page:https://kubeoperator.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KubeOperator - 从这里开启您的 Kubernetes 之旅

License Python3 Django Ansible Angular

KubeOperator 是一个开源项目,在离线网络环境下,通过可视化 Web UI 在 VMware、Openstack 或者物理机上规划、部署和运营生产级别的 Kubernetes 集群。KubeOperator 是 JumpServer 明星开源团队在 Kubernetes 领域的的又一全新力作。

KubeOperator 使用 Terraform 在 IaaS 平台上自动创建主机(用户也可以自行准备主机,比如物理机或者虚机),通过 Ansible 完成自动化部署和变更操作,支持 Kubernetes 集群 从 Day 0 规划,到 Day 1 部署,到 Day 2 运营的全生命周期管理,实现 Kubernetes As a Service。

KubeOperator 内置 KubeApps Plus 应用商店,以支撑各种基于 K8s 的应用场景,如:

  • CI / CD 应用场景:GitLab、Jenkins、Harbor、Sonarqube、Argo CD 等;
  • GPU / AI 应用场景:Tensorflow、PyTorch 等;
  • Serverless 应用场景:Knative 等;
  • 数据库应用场景:MySQL、Redis 等;

KubeOperator 的整体架构如下图所示:

Architecture

注: KubeOperator 已通过云原生基金会(CNCF)的 Kubernetes 软件一致性认证

Web UI 展示

Web UI

更多功能截屏点击:这里

技术优势

  • 简单易用:提供可视化的 Web UI,极大降低 K8s 部署和管理门槛,内置 Webkubectl
  • 离线部署:持续更新包括 Kubernetes 及常用组件的离线包;
  • 按需创建:调用云平台 API,一键快速创建和部署 Kubernetes 集群;
  • 按需伸缩:快速伸缩 Kubernetes 集群,优化资源使用效率;
  • 按需修补:快速升级和修补 Kubernetes 集群,并与社区最新版本同步,保证安全性;
  • 自我修复:通过重建故障节点确保集群可用性;
  • 全栈监控:提供从Pod、Node到集群的事件、监控、告警、和日志方案;
  • Multi-AZ 支持:将 Master 节点分布在不同的故障域上确保集群高可用;
  • 应用商店:内置 KubeApps Plus 应用商店,快速部署和管理常见应用;
  • GPU 支持:支持 GPU 节点,助力运行深度学习等应用;

功能列表

Day 0 规划 集群模式 1 个 Master 节点 n 个 Worker 节点模式:适合开发测试用途
3 个 Master 节点 n 个 Worker 节点模式:适合生产用途
计算方案 独立主机:支持自行准备的虚机、公有云主机和物理机
vSphere 平台:支持自动创建主机(使用 Terraform)
Openstack 平台:支持自动创建主机 (使用 Terraform)
存储方案 独立主机:支持 NFS / Ceph RBD / Local Volume
vSphere 平台:支持 vSphere Datastore (vSAN 及 vSphere 兼容的集中存储)
Openstack 平台:支持 Openstack Cinder (Ceph 及 Cinder 兼容的集中存储)
网络方案 支持 Flannel / Calico 网络插件
支持通过 F5 Big IP 对外暴露服务
支持 Traefik / ingress-nginx
支持 CoreDNS
GPU 方案 支持 NVIDIA GPU
操作系统 支持 CentOS 7.4 / 7.5 / 7.6 / 7.7
容器运行时 支持 Docker / containerd
Day 1 部署 部署 提供离线环境下的完整安装包
支持可视化方式展示部署过程
支持一键自动化部署(使用 Ansible)
Day 2 运营 管理 支持以项目为核心的分级授权管理
支持系统管理员、项目管理员和只读用户等三种角色
支持对接 LDAP/AD
对外开放 REST API
可通过应用商店安装 K8s Dashboard 管理应用
可通过应用商店安装 Weave Scope 管理应用
提供 Web Kubectl 界面
内置 Helm
可观察性 内置 Promethus,支持对集群、节点、Pod、Container的全方位监控和告警
内置 Loki 日志方案
内置 Grafana 作为监控和日志展示
支持消息中心,通过钉钉、微信通知各种集群异常事件;
升级 支持集群升级
伸缩 支持增加或者减少 Worker 节点
备份 支持 etcd 定期备份
合规 支持集群合规检查和健康评分
应用商店 集成 KubeApps Plus 应用商店,快速部署 CI/CD、AI 深度学习等应用

具体版本路线图请参考:Roadmap

PPT、Demo 视频、使用文档

Kubernetes 离线安装包

KubeOperator 提供完整的离线 Kubernetes 安装包(包括 Kubernetes、Docker、etcd、Dashboard、Promethus、OS 补丁等),每个安装包会被构建成一个独立容器镜像供 KubeOperator 使用,具体信息请参考:k8s-package

沟通交流

  • 技术交流 QQ 群:825046920
  • 微信群: 搜索微信号 wzk727912172,添加好友,备注(城市-github用户名), 验证通过会加入群聊
  • 技术咨询:https://jinshuju.net/f/QrZJpt

致谢

  • Terraform: KubeOperator 采用 Terraform 来自动创建虚机;
  • Clarity: KubeOperator 采用 Clarity 作为前端 Web 框架;
  • Ansible: KubeOperator 采用 Ansible 作为自动化部署工具;
  • kubeasz: 提供各种 Kubernetes Ansible 脚本;
  • Kubeapps: KubeOperator 基于 Kubeapps 定制了应用商店;

License

Copyright (c) 2014-2019 FIT2CLOUD 飞致云

https://www.fit2cloud.com

KubeOperator is licensed under the Apache License, Version 2.0.

About

KubeOperator 是一个开源项目,通过 Web UI 在 VMware、OpenStack 和物理机上规划、部署和运营生产级别的 Kubernetes 集群。支持内网离线环境、支持 GPU、内置应用商店,已通过 CNCF 的 Kubernetes 软件一致性认证。

https://kubeoperator.io

License:Apache License 2.0


Languages

Language:Python 39.2%Language:TypeScript 20.6%Language:CSS 15.4%Language:HTML 15.3%Language:Shell 7.8%Language:Smarty 1.5%Language:JavaScript 0.1%Language:Dockerfile 0.1%Language:HCL 0.0%