什么是 KubeOperator?
KubeOperator 是一个开源项目,在离线网络环境下,通过可视化 Web UI 在 VMware、Openstack 或者物理机上规划、部署和运营生产级别的 Kubernetes 集群。KubeOperator 是 JumpServer 明星开源团队在 Kubernetes 领域的的又一全新力作。
KubeOperator 使用 Terraform 在 IaaS 平台上自动创建主机(用户也可以自行准备主机,比如物理机或者虚机),通过 Ansible 完成自动化部署和变更操作,支持 Kubernetes 集群 从 Day 0 规划,到 Day 1 部署,到 Day 2 运营的全生命周期管理。
KubeOperator 内置 kubeapps 应用商店,以支撑各种基于 K8s 的应用场景,如:
- CI / CD 应用场景: GitLab、Jenkins、Harbor、Sonarqube、Argo CD 等;
- GPU / AI 应用场景: Tensorflow、PyTorch 等;
- Serverless 应用场景: Knative 等;
- 数据库应用场景: MySQL、Redis 等;
KubeOperator 的整体架构如下图所示:
注: KubeOperator 已通过云原生基金会(CNCF)的 Kubernetes 软件一致性认证。
2 KubeOperator 的技术优势
- 简单易用: 提供可视化的 Web UI,极大降低 K8s 部署和管理门槛,内置 Webkubectl;
- 离线部署: 持续更新包括 Kubernetes 及常用组件的离线包;
- 按需创建: 调用云平台 API,一键快速创建和部署 Kubernetes 集群;
- 按需伸缩: 快速伸缩 Kubernetes 集群,优化资源使用效率;
- 按需修补: 快速升级和修补 Kubernetes 集群,并与社区最新版本同步,保证安全性;
- 自我修复: 通过重建故障节点确保集群可用性;
- 全栈监控: 提供从Pod、Node到集群的事件、监控、告警、和日志方案;
- Multi-AZ 支持: 将 Master 节点分布在不同的故障域上确保集群高可用;
- 应用商店: 内置 KubeApps Plus 应用商店,快速部署和管理常见应用;
- GPU 支持: 支持 GPU 节点,助力运行深度学习等应用;
3 KubeOperator 的功能列表
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 | |
操作系统 | 支持 RHEL/CentOS/EulerOS 操作系统 | |
容器运行时 | 支持 Docker / Containerd | |
Day 1 部署 | 部署 | 支持在线和离线安装模式 |
支持 Kubeadm 部署 | ||
支持 arm64 平台架构 | ||
支持可视化方式展示部署过程 | ||
支持一键自动化部署(使用 Ansible) | ||
支持已有集群导入 | ||
Day 2 运营 | 管理 | 支持以项目为核心的分级授权管理 |
支持系统管理员和项目管理员两种角色 | ||
支持对接 LDAP/AD | ||
对外开放 REST API | ||
支持国际化 i18n | ||
可通过应用商店安装 K8S Dashboard 管理应用 | ||
可通过应用商店安装 Weave Scope 管理应用 | ||
提供 Web Kubectl 界面 | ||
内置 Helm v3 | ||
可观察性 | 内置 Promethus,支持对集群、节点、Pod、Container的全方位监控和告警 | |
内置 EFK 日志方案 | ||
内置 Grafana 作为监控和日志展示 | ||
支持消息中心,通过钉钉、微信通知各种集群异常事件 | ||
升级 | 支持集群升级 | |
伸缩 | 支持增加或者减少 Worker 节点 | |
备份 | 支持 etcd 定期备份 | |
安全合规 | 支持 CSI 安全扫描 | |
应用商店 | 提供 GitLab、Jenkins、Harbor、Argo CD 等 CI/CD 工具 | |
提供深度学习AI 应用,比如 TensorFlow |
部署服务器要求
部署服务器要求
- 操作系统: 任何支持 Docker 的 Linux x64
- CPU/内存: 4核8G
- 磁盘空间: 50G
- 可访问互联网
- 防火墙或安全组需开放端口: 80、8081-8083
安装步骤
执行安装脚本
以 root 用户 ssh 登录目标服务器, 执行如下命令
[root@iZ2ze8crquorxdy1yka179Z ~]# curl -sSL https://github.com/KubeOperator/KubeOperator/releases/latest/download/quick_start.sh -o quick_start.sh [root@iZ2ze8crquorxdy1yka179Z ~]# bash quick_start.sh
安装脚本默认使用 /opt/kubeoperator 目录作为安装目录,kubeoperator 的配置文件、数据及日志等均存放在该安装目录
登录并使用
登录
安装成功后,通过浏览器访问如下页面登录 KubeOperator
地址: http://目标服务器IP地址:80
用户名: admin
密码: kubeoperator@admin123
更多配置参考官方文档 https://docs.jumpserver.org/zh/master/
继续阅读
- 我的QQ
- QQ扫一扫
-
- 我的头条
- 头条扫一扫
-
评论