[开源]一个现代化的K8s面板,可导入多个Kubernetes...

科技一飞开源 2024-08-19 13:53:26

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

KubePi [kubəˈpaɪ],一个现代化的 K8s 面板。

KubePi 是一个现代化的 K8s 面板。KubePi 允许管理员导入多个 Kubernetes 集群,并且通过权限控制,将不同 cluster、namespace 的权限分配给指定用户;允许开发人员管理 Kubernetes 集群中运行的应用程序并对其进行故障排查,供开发人员更好地处理 Kubernetes 集群中的复杂性。

二、开源协议

使用GPL-3.0开源协议

三、界面展示

四、功能概述KubePi 是一个现代化的 K8s 面板。KubePi 允许管理员导入多个 Kubernetes 集群,并且通过权限控制,将不同 cluster、namespace 的权限分配给指定用户。它允许开发人员管理 Kubernetes 集群中运行的应用程序并对其进行故障排查,供开发人员更好地处理 Kubernetes 集群中的复杂性。五、技术选型项目结构.├── Dockerfile # 构建容器镜像使用的 dockerfile├── Makefile # 编译文件├── LICENSE├── README.md├── go.mod├── conf # 配置文件├── pkg # 主目录├── interanl # 私有业务代码├── migrate # 数据库变更文件目录├── web│ ├── dashboard # 前端 dashboard 模块│ ├── kubepi # 前端管理模块│ └── terminal # terminal 模块 配置文件KubePi 会默认加载该路径下的配置文件 /etc/kubepi/app.yaml,请参考下列配置创建对应目录及配置文件apiVersion: v1kind: AppConfigspec: server: bind: host: 0.0.0.0 port: 80 ssl: enable: false certificate: certificateKey: db: path: /var/lib/kubepi/db/kubepi.db数据库文件KubePi 使用 BoltDB 作为底层数据存储,使用 storm 作为上层 ORM 框架数据库文件地址 /var/lib/kubepi/db/kubepi.db构建二进制文件make build_web启动后端服务# 在 cmd/server 目录运行 go run main.go启动前端服务

KubePi 的前端主要包括两部分,需要分别启动

管理模块

在 web/kubepi 目录运行

npm installnpm run servedashboard 模块

在 web/dashboard 目录运行

npm installnpm run serve安装说明docker非持久化部署# 安装sudo docker run --privileged -d --restart=unless-stopped -p 80:80 1panel/kubepi持久化部署# 创建持久化目录mkdir -p /opt/kubepi# 安装sudo docker run --privileged -d -v /opt/kubepi:/var/lib/kubepi --restart=unless-stopped -p 80:80 1panel/kubepi登录系统地址: http://localhost用户名: admin密码: kubepikubernetes

详细内容请查看 README.md 文档

六、源码地址

访问一飞开源:https://code.exmay.com/

0 阅读:0