├── LICENSE ├── README.md ├── deploy.md └── images ├── connect.png ├── contact.png ├── copy.png ├── create.png ├── index.png ├── login.png └── topology.png /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 dotbalo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 更简洁、更好用、更完善、零侵入、不依赖任何中间件 2 | KRM是一个Kubernetes多集群资源管理平台,基于管理Kubernetes的资源开发, 3 | 可以管理Kubernetes的Namespace、Deployment、DaemonSet、StatefulSet、Service、Ingress、Pods、Nodes、CronJob、Velero等,同时支持浏览和管理任意的核心资源及CRD资源。 4 | 5 | KRM主要实现的是使用图形化界面管理所有的Kubernetes的资源,降低Kubernetes的复杂度。 6 | 同时具备了一些常用的功能,比如跨集群资源复制、一键项目迁移、图形化资源编辑、资源一键回滚及更新、多集群资源统计、可视化集群备份和还原、容器文件上传下载等。 7 | ### 项目演示地址 8 | 自行安装功能更全~ 9 | [http://demo.kubeasy.com](http://demo.kubeasy.com/) 10 | 用户名密码:dukuan / Q_Q727585266 11 | 12 | ### 免费视频教程 13 | [https://www.bilibili.com/video/BV1Hx421C7nA/](https://www.bilibili.com/video/BV1Hx421C7nA/) 14 | 15 | 16 | [https://edu.51cto.com/course/35856.html](https://edu.51cto.com/course/35856.html) 17 | 18 | ### 快速部署 19 | 如果想要使用KRM管理自己的集群,可以参考如下步骤进行安装: 20 | ```` 21 | # 需要自行安装git工具,比如 yum install git或者apt-get install git 22 | git clone https://gitee.com/dukuan/k8s-ha-install.git 23 | cd k8s-ha-install 24 | kubectl create -f krm.yaml 25 | # 创建成功后,通过kubectl get svc -n krm查看frontend服务的NodePort,之后通过http://任意节点IP:NodePort即可访问 26 | 默认用户名密码:admin/admin 27 | ```` 28 | 也可以采用手动部署的方式,用来做更加详细的配置 29 | [手动部署文档](https://github.com/dotbalo/krm/blob/main/deploy.md) 30 | ### 版本更新 31 | ```` 32 | 如果部署的KRM版本是latest,直接重新部署即可完成升级(也可以直接删除KRM的前后端Pod即可完成更新)。 33 | 如果不是latest版本, 直接把KRM的Deployment的镜像版本均改成latest即可。 34 | ```` 35 | 36 | ### 如果想要开发一个类似的平台和有其他问题,可以进群了解 37 | ![image](https://github.com/dotbalo/krm/assets/25141522/d92d9eda-478b-49b6-9e5b-c4a5ef7d7f7a) 38 | 39 | ### 平台相关截图 40 | #### 登录页 41 | ![登录页](https://github.com/dotbalo/krm/assets/25141522/adaf1ec2-6046-45d8-81ee-e49476d4e91b) 42 | 43 | #### 首页 44 | ![首页](https://github.com/dotbalo/krm/assets/25141522/cc773147-06a6-4c03-b5d6-3fb77534d121) 45 | 46 | 47 | #### 跨集群资源复制 48 | ![image](https://github.com/dotbalo/krm/assets/25141522/49c00391-e97c-4cb3-82ed-c6baa8a78172) 49 | 50 | 51 | #### 资源创建 52 | ![image](https://github.com/dotbalo/krm/assets/25141522/f74b1350-2adb-4e9f-a52a-82b3e62d1a15) 53 | 54 | 55 | #### 拓扑图 56 | ![image](https://github.com/dotbalo/krm/assets/25141522/7180baf5-2f06-4bda-b1a8-c60986609c29) 57 | 58 | #### 备份管理 59 | ![image](https://github.com/dotbalo/krm/assets/25141522/86587673-0395-4476-b560-e626226a170b) 60 | 61 | #### 节点管理 62 | ![image](https://github.com/dotbalo/krm/assets/25141522/68bef620-bf91-4be9-889a-6a34febd9d20) 63 | 64 | #### Pod管理 支持下线功能 65 | ![image](https://github.com/dotbalo/krm/assets/25141522/0e72b4a0-49b1-40e5-a0de-23570c86dfab) 66 | 67 | #### 调度资源管理 一键式操作 68 | ![image](https://github.com/dotbalo/krm/assets/25141522/bcf862dc-17b8-4f34-aec4-5e426894363e) 69 | -------------------------------------------------------------------------------- /deploy.md: -------------------------------------------------------------------------------- 1 | # KRM部署 2 | KRM采用前后端分离架构,前端使用Vue实现,后端使用Go实现。 3 | 4 | KRM安装时需要把服务安装到Kubernetes集群当中,之后可以在KRM中添加被管理的集群,所以要求KRM所在的集群需要和其它被管理的集群的APIServer能够通信,其它无要求,安装无侵入。 5 | 6 | ## 服务部署 7 | 在安装KRM的集群中创建Namespace,并授权 `注意: 下述步骤将KRM安装到了krm命名空间,如果需要更改Namespace,需要把下面步骤所有关于Namespace的地方更改为自己的Namespace,推荐不更改Namespace` 8 | ```` 9 | kubectl create ns krm 10 | kubectl create sa krm-backend -n krm 11 | kubectl create rolebinding krm-backend --clusterrole=edit --serviceaccount=krm:krm-backend --namespace=krm 12 | kubectl create clusterrole namespace-creater --verb=create --resource=namespaces 13 | kubectl create clusterrolebinding krm-backend-ns-creater --clusterrole=namespace-creater --serviceaccount=krm:krm-backend --namespace=krm 14 | ```` 15 | 部署后端服务 16 | ```` 17 | cat<