/KubeOperator

KubeOperator 是一个开源的轻量级 Kubernetes 发行版,专注于帮助企业规划、部署和运营生产级别的 K8s 集群。

Primary LanguageGoApache License 2.0Apache-2.0

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

Codacy Badge License GitHub release (latest SemVer) GitHub All Releases

English | 中文

KubeOperator 是一个开源的轻量级 Kubernetes 发行版,专注于帮助企业规划、部署和运营生产级别的 Kubernetes 集群。

KubeOperator 提供可视化的 Web UI,支持离线环境,支持物理机、VMware 和 OpenStack 等 IaaS 平台,支持 x86_64 和 arm64 架构,支持 GPU,内置应用商店,已通过 CNCF 的 Kubernetes 软件一致性认证。

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

整体架构

Architecture

Web UI 展示

Web UI

更多功能截屏点击:这里

快速开始

仅需两步快速安装 KubeOperator:

  1. 准备一台不小于 8 G内存的 64位 Linux 主机;
  2. 以 root 用户执行如下命令一键安装 KubeOperator。
curl -sSL https://github.com/KubeOperator/KubeOperator/releases/latest/download/quick_start.sh | sh

文档和演示视频:

KubeOperator 企业版

版本说明

KubeOperator 版本号命名规则为:v大版本.功能版本.Bug修复版本。比如:

v1.0.1 是 v1.0.0 之后的Bug修复版本;
v1.1.0 是 v1.0.0 之后的功能版本。

像其它优秀开源项目一样,KubeOperator 将每月发布一个功能版本。

技术优势

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

功能列表

Day 0 规划 集群模式 1 个 Master 节点 n 个 Worker 节点模式:适合开发测试用途
3 个 Master 节点 n 个 Worker 节点模式:适合生产用途
计算方案 独立主机:支持自行准备的虚机、公有云主机和物理机
vSphere 平台:支持自动创建主机(使用 Terraform)
Openstack 平台:支持自动创建主机 (使用 Terraform)
FusionCompute 平台:支持自动创建主机 (使用 Terraform)
存储方案 独立主机:支持 NFS / Ceph RBD / Rook Ceph / Local Volume
vSphere 平台:支持 vSphere Datastore (vSAN 及 vSphere 兼容的集中存储)
Openstack 平台:支持 Openstack Cinder (Ceph 及 Cinder 兼容的集中存储)
FusionCompute 平台:支持 OceanStor
网络方案 支持 CoreDNS
支持 Flannel / Calico 网络插件
支持 ingress-nginx / traefik
支持通过 F5 Big IP 对外暴露服务(X-PACK)
GPU 方案 支持 NVIDIA GPU
操作系统 支持 RHEL / CentOS / EulerOS 操作系统
容器运行时 支持 Docker / Containerd
Day 1 部署 部署 支持在线和离线安装模式
支持 Kubeadm 部署
支持 x86_64 和 arm64 CPU 架构
支持可视化方式展示部署过程
支持一键自动化部署(使用 Ansible)
支持已有集群导入
Day 2 运营 管理 支持以项目为核心的分级授权管理
支持系统管理员、项目管理员和集群管理员三种角色
支持多集群配置管理(X-PACK)
支持对接 LDAP/AD(X-PACK)
支持自定义 Logo 和 配色(X-PACK)
对外开放 REST API
支持国际化 i18n
提供 Web Kubectl 界面
内置 Helm
可观察性 内置 Prometheus,支持对集群、节点、Pod、Container 的全方位监控和告警
内置 EFK、Loki 日志方案
内置 Grafana 作为监控和日志展示
支持消息中心,通过钉钉、微信通知各种集群异常事件(X-PACK)
升级 支持集群升级
伸缩 支持增加或者减少 Worker 节点
备份 支持 etcd 定期备份和立即备份
恢复 支持 etcd 备份策略文件恢复和本地文件恢复
安全合规 支持集群健康评分(X-PACK)
支持 CSI 安全扫描
应用商店 提供 GitLab、Jenkins、Harbor、Argo CD、Sonarqube 等 CI/CD 工具
提供 Kuboard、Weave Scope、Redmine 等管理工具
提供深度学习AI 应用,比如 TensorFlow

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

支持组件

微信群

wechat-group

致谢

  • Terraform: KubeOperator 采用 Terraform 来自动创建虚机;
  • Clarity: KubeOperator 采用 Clarity 作为前端 Web 框架;
  • Ansible: KubeOperator 采用 Ansible 作为自动化部署工具;
  • Kubeapps: KubeOperator 采用 Kubeapps 作为应用商店方案。

License

Copyright (c) 2014-2020 FIT2CLOUD 飞致云

https://www.fit2cloud.com

KubeOperator is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.