TechTalk | KubeOperator测试小结
一
KubeOperator介绍
KubeOperator 是一个开源项目,在离线网络环境下,通过可视化 Web UI 在 VMware、Openstack 或者物理机上规划、部署和运营生产级别的 Kubernetes 集群,KubeOperator 使用 Terraform 在 IaaS 平台上自动创建k8s集群,实现k8s即服务。KubeOperator 内置 KubeApps Plus 应用商店,以支撑各种基于 k8s 的应用场景,如:
CI / CD 应用场景:GitLab、Jenkins、Harbor、Sonarqube、Argo CD 等;
GPU / AI 应用场景:Tensorflow、PyTorch 等;
Serverless 应用场景:Knative 等;
数据库应用场景:MySQL、Redis 等;
二
KubeOperator在Vmware上实现
本次实验室主要测试Vmware环境下部署kubeoperator,以及KubeApps Plus 应用商店中GitLab、Jenkins、Harbor等应用部署。
详细部署过程可参考官方文档:https://docs.kubeoperator.io/KubeOperator-v2.5/introduction/,
部署过程分为三部分,1.KubeOperator软件部署 2.KubeOperator创建k8s集群 3.应用部署
1) KubeOperator软件部署及作用
A. 可以是一台虚拟机,推荐配置4 核 16G 内存 100G 磁盘,操作系统安装centos7.6以上,安装路径剩余空间大于50G,需提前安装docker 用于脚本中拉取安装镜像。
需准备外网环境,需从外网拉取镜像。
B. 最基本部署和管理k8s集群功能,可以通过web GUI来管理k8s集群生命周期,包含部署、监控、升级,日志收集。k8s集群创建成功后,可独立于KubeOperator提供服务,是一种解耦合架构,即使KubeOperator 宕掉也不会影响k8s集群,类似于灵雀云的init节点。
C. 软件功能亮点是包含KubeApps Plus 应用商店,对于网络环境比较封闭的客户,可以实现离线部署应用,但前提是从官网下载离线包。
D.KubeOperator部署过程很简单,软件大概有6G左右,安装过程10分钟。下图是KubeOperator界面:
2) k8s集群创建
A. 整个过程可以通过web GUI向导方式实现,在VMware上部署集群不需要提前准备虚机,这个比灵雀云做的比较好,灵雀云管理集群和业务集群需要准备虚机或物理机。
B. 创建集群前需要按照手册准备环境,如DNS,NTP,外部存储等,在VMware上实现需要提供Vcenter的信息,本次部署中遇到NFS外置存储问题,在linux上自建的NFS上对访问权限上有限制,最后换成VNXE3200提供的NFS共享才解决,怀疑在向导创建过程中会在NFS存储上创建文件,如果NFS的读写权限有问题,是无法通过检测的。报错如下:
TASK [cluster-storage : 轮询等待 storageclass验证结果] *********************************
FAILED - RETRYING: 轮询等待 storageclass验证结果 (10 retries left).
C. 部署集群过程实际上是在运行脚本,建议要有外网,会下载很多组件。
3) 应用商店
A. 在每个集群中都会有一个应用商店,没有安装Helm Charts 离线包前,是没有任何应用的。需下载官方提供的离线包,大概2G,安装Helm Chart过程,也是脚本形式,自己看了下脚本运行的过程,应该是把离线包的images push到了本集群的镜像仓库。创建完成后下图的镜像仓库和应用商店就会有内容。
B. 本次测试的GitLab、Jenkins、Harbor应用,部署过程均是一键部署,无需自己创建yaml文件而且还可以按照自己环境修改yaml文件,部署过程很简单。
C. 应用web访问比较依赖DNS,需要在DNS上设置集群相关的解析
70.70.70.98 grafana.apps.cluster-ct10.yjs.com
70.70.70.98 prometheus.apps.cluster-ct10.yjs.com
70.70.70.98 registry-ui.apps.cluster-ct10.yjs.com
70.70.70.98 kubeapps-plus.apps.cluster-ct10.yjs.com
三
总结
对k8s集群运维来说,KubeOperator可实现k8s集群生命周期WEB GUI方式管理。无需准备虚机环境,可在向导中实自动创建。本次只是在VMware上做了功能实现,在其他平台上的实现也是大同小异。整个软件部署过程简单,技术门槛低。应用商店可实现一键部署应用,无需太多yaml文件的改动。在高可用方面,采用了公有云的region/zone设计理念,在VMware上就对应不同的datacenter/cluster.在备份集群方面也提供了备份模块。对于k8s技术能力不高的用户是一个很好的管理平台。
延展阅读
· TechTalk | Bluenic 之 Azure 数据工厂落地实践
· TechTalk | 亲测VxFlex部署在ESXI6.7,配置数据网络一点探讨
.
.
.
.
.
.
233269