随着云原生技术的发展,越来越多的业务场景需要使用容器来部署和管理应用程序,而Kubernetes作为容器编排平台的事实标准,自然也受到了越来越多的关注和使用。
但是如果想在Kubernetes上部署和运维大数据服务是有比较高的学习成本,需要专业的运维人员来进行管理和维护,在这种情况下,我们开发出CloudEon平台,致力于简化多种大数据服务在Kubernetes上的部署和管理,同时还能更好地利用Kubernetes的资源调度和管理能力,使用户更加简单、方便、高效地搭建和管理大数据集群。
CloudEon是一个轻量级应用,没有采用分布式架构,本质上只是一个Kubernetes的客户端,负责将用户的操作转换为Kubernetes的资源或指令。例如,它可以调度一个大数据服务启动(如Doris)、停止某个服务角色(Dori Be)或让某个服务挂掉后自动拉起,这些都是由Kubernetes自行调度完成的。 由于CloudEon只是一个单体应用,安装部署非常简单。
在部署 CloudEon前, 所需要准备的一些先决条件。
CloudEon需要一个可访问的Kubernetes集群,目前已知支持的版本是1.21+ ,如果没有Kubernetes环境可以使用 kubekey 快速搭建一个。 也支持在k3s上部署。 container runtime目前只支持docker,后续会逐渐适配,欢迎大家一起来完善。
CloudEon需要访问Kubernetes集群中节点的SSH服务,所以必须保证网络可通
CloudEon默认使用H2作为内置数据库,当然也支持Mysql作为数据库,可以通过修改application.properties文件进行配置
Cloudeon 在 dockerhub 中的公共镜像地址为 peterpoker/cloudeon。如果你本地已经安装了 docker,执行以下命令可以一键安装:
docker run -p 7700:7700 peterpoker/cloudeon
如果国内访问比较慢,也可以用
docker run -p 7700:7700 --name cloudeon --rm registry.cn-hangzhou.aliyuncs.com/udh/cloudeon:1.0.0
镜像启动成功后,在浏览器中访问 http://docker_ip:7700 进入登录页。镜像中提供初始账户,用户名 admin 密码 admin
在默认情况下,Cloudeon 使用内置的 H2 作为应用程序数据库。 如果将 Cloudeon 用于生产环境,建议使用 MySQL 作为应用程序数据库。配置步骤如下: 新建一个名为 application.properties 的空文件,将以下内容填写完整,然后粘贴到到文件中
# Http server port
server.port=7700
spring.main.banner-mode=log
# db
spring.jpa.open-in-view=false
spring.jpa.hibernate.ddl-auto=none
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/cloudeon?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
####### flyway properties #######
spring.flyway.enabled=true
spring.flyway.clean-disabled=true
spring.flyway.validate-on-migrate=true
# Configuration for uploading files.
spring.servlet.multipart.enabled=true
spring.servlet.multipart.file-size-threshold=0
spring.servlet.multipart.max-file-size=209715200
spring.servlet.multipart.max-request-size=209715200
# temporary skip circular references check
spring.main.allow-circular-references=true
####### cloudeon properties #######
cloudeon.stack.load.path=${cloudeon.home.path}/stack
cloudeon.remote.script.path=${cloudeon.home.path}/script
cloudeon.task.log=${cloudeon.home.path}/log
cloudeon.work.home=${cloudeon.home.path}/work
logging.config=${cloudeon.home.path}/conf/logback.xml
运行以下命令,使用新建的 application.properties 配置启动镜像
docker run -d --name cloudeon -v your_path/application.properties:/usr/local/cloudeon/conf/application.properties -p 7700:7700 peterpoker/cloudeon
欢迎提交pr到Gitee或者Github参与贡献。
如果您有任何问题可以提交issue到Gitee或者Github。
如果觉得CloudEon对您有帮助,请在Gitee和Github点一下star⭐️,谢谢!
【Gitee地址】:https://gitee.com/dromara/CloudEon
【Github地址】:https://github.com/dromara/CloudEon
【CloudEon官网】:https://cloudeon.top/
【CloudEon文档】:https://docs.cloudeon.top/en/latest/
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。