希里安近日见闻
哈喽,各位小伙伴好啊,继上周希里安发布了开源项目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 管理工具!
生活的意义,也许一时难以看清,但能和一群志同道合的人,全情投入的做一些喜欢和热爱的事,这本身就是最有意义的活法!
仓库地址以及开源社区群在留言区置顶处更新,诚挚欢迎各位小伙伴的加入!