首页
学习
活动
专区
圈层
工具
发布

开源新星CILIKUBE,专为小白设计,玩转Vue3+Go全栈与云原生,Helm部署轻松上手!

希里安近日见闻

哈喽,各位小伙伴好啊,继上周希里安发布了开源项目CILIKUBE之后,收到很多从事传统运维、SRE、云原生爱好者、甚至前后端开发小伙伴的热情反馈与贡献,希望能得到更多的交流,短短一周时间,就得到了以下小伙伴的反馈与贡献!再次感谢各位小伙伴的支持!

感谢CILIKUBE社区英雄

本次CiliKube版本更新离不开以下小伙伴的热情贡献(排名不分先后):

• @kgosLj

• @andrewbytecoder

• @niumcdao

• @YazaiHu

• @dbinggo

• @Forever-fall

• @FunkyPants

• @fxkjnj

若有遗漏,请留言或私信希里安添加!每一位贡献者都是 CILIKUBE 开源社区的明星!

还不知道CILIKUBE是什么的?

🤔 CILIKUBE 是什么?

CiliKube 是一个使用现代主流技术栈(Vue3, TypeScript, Go, Gin)构建的开源全栈 Kubernetes (k8s) 资源管理平台。它致力于提供一个简洁、优雅的界面,来简化 Kubernetes 资源的日常管理(增删改查)并支持功能拓展。与追求“大而全”的复杂系统不同,CiliKube 专注于“小而美”。它的核心目标是:

1.核心功能: 提供清晰、直观的界面来管理常用的 K8s 资源。

2.学习友好: 代码结构清晰,技术栈现代(Vue3/Go),非常适合作为学习Vue3/Go Web 开发Kubernetes 二次开发的入门项目。

3.易于拓展: 预留了自定义功能的空间,方便小伙伴们根据自身需求进行扩展。

项目背景?为学习与分享而生!

CiliKube 起源于作者希里安自己学习 Web 开发和 Kubernetes 的过程中,发现市面上很多 K8s 管理工具功能复杂、学习曲线陡峭,尤其对于初学者来说,往往难以快速上手。于是,希里安决定自己动手做一个简单易用的 K8s 管理工具,既能帮助自己学习,也能帮助更多的小伙伴。

希里安希望这个项目不仅是一个工具,更是一个学习和分享的平台。CiliKube 的设计理念是“简单、优雅、易用”。它的界面简洁明了,功能直观易懂,项目的代码结构清晰,注释详细,非常适合小白学习和二次开发。

这个项目不仅是学习成果的体现,更希望成为一把“钥匙 (Key)”,帮助更多像作者一样的学习者打开开源世界的大门,参与贡献,共同成长。

看到这里,你是不是已经对这个项目产生兴趣了呢?

项目核心地址

- 后端:https://github.com/ciliverse/cilikube

- 前端:https://github.com/ciliverse/cilikube-web

- 文档:https://cilikube.cillian.website/zh/

最新动态

CILIKUBE v0.1.1 版本发布 再次感谢各位小伙伴的贡献!

但是据CILIKUBE开源社区交流群中小伙伴的们反馈,有很多还不知道怎么部署CILIKUBE,所以今天希里安专门写一篇文章,来教大家来如何快速部署运行。

应用部署方式知多少?

在部署CILIKUBE之前,我们先快速回顾一下常见的应用部署方式:

1.二进制部署 :

简介:这是最原始也最直接的方式,将编译好的代码包(如.jar,.war, 可执行文件)连同其依赖,直接拷贝到服务器上运行。

特点:简单粗暴,但环境一致性、依赖管理、弹性伸缩和自动化运维是其痛点。

2.Docker 部署:

简介:将应用及其所有依赖打包成一个轻量、标准化的容器镜像,实现一次构建,处处运行。

特点:完美解决了“在我机器上明明是好的”老大难问题,实现了环境隔离与一致性,加速了部署流程。

3.Docker Compose 部署:

简介:当你的应用由多个服务(容器)组成时,Docker Compose就派上用场了。通过一个docker-compose.yml文件,可以定义和运行多个Docker容器应用。

特点:非常适合单机环境下的多容器应用编排,简化了开发和测试环境的搭建。

4.Kubernetes (K8s) YAML 部署:

简介:Kubernetes是容器编排领域的事实标准。通过YAML文件定义应用的期望状态(如Deployment、Service等),K8s会努力维持这个状态。

特点:声明式API,强大且灵活,支持自动化部署、弹性伸缩、服务发现、滚动更新等高级特性,是生产环境大规模容器化部署的首选。

5.Helm 部署 (K8s的包管理器):

简介:如果把K8s比作操作系统,那Helm就是它的包管理器(如apt、yum)。Helm将一组预配置的K8s资源打包成Chart,简化了复杂应用的部署和管理。

特点:提高了K8s应用的复用性、可配置性和版本管理能力。

以上选择何种方式,往往取决于项目的规模、团队的技术栈以及对运维效率的要求。所以还是看各位小伙伴实际业务需求来灵活选择,可以留言讨论哦!

那如何部署 CiliKube?官方部署指南在此!

CILIKUBE有多重部署方式,这对于想要快速体验其界面或进行二次开发的同学来说非常方便。

1.本地开发

Tips: 如果你想进行二次开发,或者想要快速体验 CiliKube 的前后端功能,可以选择本地开发的方式。CiliKube 的前后端代码都可以在本地运行,适合开发和调试。以下是本地运行的步骤:

环境准备

1. 安装 Node.js (>=18) 和 pnpm

2. 安装 Go (>=1.20)

3. 拥有一个 Kubernetes 集群,并配置好 kubeconfig 文件 (默认读取 ~/.kube/config)

运行前端

# 进入前端目录

cd cilikube-web

# 安装依赖

pnpm install

# 启动开发服务器

pnpm dev

• 访问 http://localhost:8888 即可看到前端界面,你可以在前端代码中修改端口以及服务配置,来连接不同的后端服务。

运行后端

# 进入后端目录

cd cilikube

# (可选) 更新 Go 依赖

go mod tidy

# 运行后端服务 (默认监听 8080 端口)

go run cmd/server/main.go2.Docker部署运行

Tips: 如果只想快速体验 CiliKube 的前后端功能,可以选择 Docker 部署的方式。CiliKube 的前后端都可以通过 Docker 镜像来运行,适合快速上手和测试。以下是 Docker 部署的步骤:

环境准备

1. 安装 Docker (>=20.10)

2. 安装 Docker Compose (>=1.29)

3. 拥有一个 Kubernetes 集群,并配置好 kubeconfig 文件 (默认读取 ~/.kube/config)

注意:使用官方镜像,目前 Docker Hub 最新稳定版为 v0.1.0,v0.1.1 的特性可通过本地源码构建体验,镜像即将更新

• 后端: cilliantech/cilikube:v0.1.0

• 前端:cilliantech/cilikube-web:v0.1.0

# 假设宿主机的 kubeconfig 在 ~/.kube/config, 容器内应用期望在 /root/.kube/config 读取

docker run -d --name cilikube -p 8080:8080 -v ~/.kube:/root/.kube:ro cilliantech/cilikube:v0.1.0

docker run -d --name cilikube-web -p 80:80 cilliantech/cilikube-web:v0.1.0

• 也可以使用docker-compose来运行

你可以在项目的 GitHub 仓库根目录找到 docker-compose.yml 文件示例

docker-compose up -d

• 访问 http://localhost即可

注意:以上命令会在本地80端口运行CiliKube的前端应用,8080端口运行后端应用。你可以根据需要修改端口映射。

也可以自己拉取代码后更改dockerfile内容后打镜像

注意: 以下操作在clone前后端项目后分别在其根目录下操作

1.获取代码:

首先,你需要获取CiliKube前后端的代码。通常可以通过git clone项目仓库,然后进入根目录。

cd path/to/cilikube

cd path/to/cilikube-web

2.构建Docker镜像:

在根目录下,修改镜像内容后执行以下命令来构建前后端应用的Docker镜像。

docker build -t "cilikube-server:latest" .

docker build -t "cilikube-web:latest" .

3.运行Docker容器:

镜像构建成功后,使用以下命令来运行前后端容器。

docker run --name cilikube-server -p 8080:8080 -d cilikube-server:latest

docker run --name cilikube-web -p 80:80 -d cilikube-web:latest

现在,打开你的浏览器,访问http://<你的主机IP>或http://localhost(如果你在本机运行Docker),就应该能看到CiliKube的登录界面了!

3. Kubernetes 部署 (Helm部署)

Tips: 如果想在 Kubernetes 集群中运行 CiliKube,可以选择 Helm 部署的方式。CiliKube 的前后端都可以通过 Helm Chart 来部署,适合生产环境和大规模集群。以下是 Helm 部署的步骤:

环境准备

1. 安装 Helm (>=3.0)

2. 拥有一个 Kubernetes 集群,并配置好 kubeconfig 文件 (默认读取 ~/.kube/config)

3. 安装 kubectl (>=1.20)

部署步骤:

1.添加 Helm 仓库:

首先,你需要添加 CiliKube 的 Helm 仓库。

helm repo add cilikube https://charts.cillian.website

2.更新 Helm 仓库:

更新本地的 Helm 仓库信息。

helm repo update

3.安装 CiliKube:

使用 Helm 安装 CiliKube。

helm install cilikube cilikube/cilikube -n cilikube --create-namespace

4.访问 CiliKube:

安装完成后,你可以使用以下命令查看 CiliKube 的服务信息。

kubectl get svc cilikube -n cilikube你会看到类似以下的输出:

NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE

cilikube     NodePort

你的主机IP: <NodePort>   8080:80/TCP   1m这表示 CiliKube 的服务已经成功部署,并且可以通过 NodePort 访问。你可以通过浏览器访问http://<你的主机IP>:<NodePort>来访问 CiliKube 的前端界面。

5.卸载 CiliKube:

如果你想卸载 CiliKube,可以使用以下命令。

helm uninstall cilikube -n cilikube

注意:以上命令会卸载CiliKube的所有相关资源。

4. 备注

我们强烈建议查阅CiliKube的官方文档以获取最全面和最新的部署指南:

官方文档:cilikube.cillian.website

GitHub仓库:github.com/ciliverse/cilikube

在官方文档中,会找到关于后端部署、数据库配置(如果需要)、以及未来可能支持的更多部署选项的详细信息。

总结

CiliKube作为一个以学习和易用性为核心的K8s资源管理平台,为K8s初学者以及可开发者提供了一个优秀的实践和探索项目。

通过本文介绍的多种部署方式,你可以根据自己的需求和环境选择最适合的方式来运行CiliKube。无论是本地开发、Docker部署还是Kubernetes部署,CiliKube都能为你提供一个简洁、优雅的界面来管理K8s资源。无论你是想要快速上手K8s,还是想要深入了解Vue3和Go的全栈开发,CiliKube都能为你提供一个良好的起点。

希望这篇文章能帮助你更好地了解CiliKube及其部署方式。 如果你有任何问题或建议,欢迎在评论区留言讨论!我们会定期更新和维护项目,期待你的参与和反馈!

如果你对K8s二次开发、Vue3或Go全栈开发感兴趣,或者想要参与到CiliKube的开发中来,欢迎加入我们的社区!我们非常欢迎任何形式的贡献,无论是代码、文档、建议还是反馈。你的参与将帮助我们不断改进和完善这个项目,让更多的小伙伴能够受益于它。

你对CiliKube这样的K8s管理工具有什么看法?你更倾向于使用哪种部署方式?欢迎在评论区留言讨论!

加入CILIKUBE开源社区

• 想贡献代码?Fork 仓库,提交 PR,我们欢迎任何创意!

• 有建议?在 Issues 留言,或加入我们的社区讨论(issue/微信群)

CILIKUBE 是社区的纯爱发电项目,每一次 Star、PR、Issue 都在推动我们前进! 让我们一起打造小白快速入门的 K8s 管理工具!

生活的意义,也许一时难以看清,但能和一群志同道合的人,全情投入的做一些喜欢和热爱的事,这本身就是最有意义的活法!

仓库地址以及开源社区群在留言区置顶处更新,诚挚欢迎各位小伙伴的加入!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OoLilu0cXR5G-nyDo0dE-A6Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券