[开源]一个现代化的 K8s 面板,可导入多个 Kubernetes 集群权限控制

开源系统流程管理
2026-06-28 05:38 0 次浏览 • 0 次下载 0KB
[开源]一个现代化的 K8s 面板,可导入多个 Kubernetes 集群权限控制

一、开源项目简介

图片

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: v1
kind: AppConfig
spec:
    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 install
npm run serve
  • dashboard 模块

在 web/dashboard 目录运行

npm install
npm 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
密码: kubepi

kubernetes

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