KubeOperator

IT
IT
IT
335
文章
1
评论
2020年8月14日13:51:05 评论 1,111 2305字阅读7分41秒

 什么是 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

注: 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

KubeOperator

更多配置参考官方文档 https://docs.jumpserver.org/zh/master/

继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
IT
  • 本文由 发表于 2020年8月14日13:51:05
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Pod Kubernetes

Pod

Pod基本概念 Pod存在的意义 Pod实现机制与设计模式 Pod镜像拉取策略
资源编排【YMAL】 Kubernetes

资源编排【YMAL】

YAML 基础 它的基本语法规则如下: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 # 表示注释,从这个字符一直...
部署CoreDNS Kubernetes

部署CoreDNS

CoreDNS用于集群内部Service名称解析 下载配置文件 coredns.yaml 创建dns # kubectl apply -f coredns.yaml 查看pod # kubectl g...