{"id":19341704,"url":"https://github.com/ldlb9527/kubernetes-admin-backend","last_synced_at":"2025-04-23T03:31:57.459Z","repository":{"id":38259808,"uuid":"476824670","full_name":"ldlb9527/kubernetes-admin-backend","owner":"ldlb9527","description":"k8s管理平台-backend","archived":false,"fork":false,"pushed_at":"2022-07-24T21:56:47.000Z","size":50,"stargazers_count":25,"open_issues_count":1,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T07:11:30.230Z","etag":null,"topics":["client-go","container-terminal","gin","golang","kubernetes","webssh"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ldlb9527.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-01T18:12:44.000Z","updated_at":"2024-11-01T09:32:41.000Z","dependencies_parsed_at":"2022-09-05T07:11:01.749Z","dependency_job_id":null,"html_url":"https://github.com/ldlb9527/kubernetes-admin-backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldlb9527%2Fkubernetes-admin-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldlb9527%2Fkubernetes-admin-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldlb9527%2Fkubernetes-admin-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldlb9527%2Fkubernetes-admin-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ldlb9527","download_url":"https://codeload.github.com/ldlb9527/kubernetes-admin-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250365734,"owners_count":21418737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-go","container-terminal","gin","golang","kubernetes","webssh"],"created_at":"2024-11-10T03:32:11.719Z","updated_at":"2025-04-23T03:31:57.185Z","avatar_url":"https://github.com/ldlb9527.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/badge/-kubernetes--admin--backend-green)\n# k8s可视化管理平台\n## 1.项目结构介绍\n* `apis`: 控制器,接口访问的入口,文件大多以k8s资源命名\n* `config`: 配置文件,程序端口和k8s的config配置\n* `middleware`:中间件，配置跨域访问和prometheus监控\n* `proto`: 返回给前端的实体，类似于VO对象,Cluster.go用于配置多集群管理\n* `router`: 路由层,路由分组和匹配,与apis包中函数绑定\n* `service`: 业务处理层\n* `terminal`: 提供web界面进入pod和webssh\n***\n## 2.如何运行(本地运行)\n* ①首先你需要一个k8s集群，用k8s master节点下的/root/.kube/config替换当前项目./config/.kube/default/config\n* ②如果你的本地与k8s集群在同一内网环境，然后就可以直接运行了\n* ③如果你的本地与k8s集群不在同一内网环境(比如集群在云端)，本地运行会报错，需要扩展k8s访问地址,[k8s扩展地址参考](https://blog.csdn.net/marlinlm/article/details/122166105)\n* ④扩展地址后,将config放在对应目录`./config/.kube/config`,加载配置文件的代码在client包\n* ⑤将config文件的server修改为你扩展的外网ip，然后直接运行\n* ⑥terminal.go的使用需要websocket，可使用新版本的postman，如需使用webssh 请配置正确的账户（apis/terminal.go中） 支持password 或publickey\n***\n## 3.Sample\n* 查看k8s集群的版本:`http://127.0.0.1:10010/cluster/version/default`\n```json\n{\n  \"major\": \"1\",\n  \"minor\": \"18\",\n  \"gitVersion\": \"v1.18.2\",\n  \"gitCommit\": \"52c56ce7a8272c798dbc29846288d7cd9fbae032\",\n  \"gitTreeState\": \"clean\",\n  \"buildDate\": \"2020-04-16T11:48:36Z\",\n  \"goVersion\": \"go1.13.9\",\n  \"compiler\": \"gc\",\n  \"platform\": \"linux/amd64\"\n}\n```\n***\n* 查看k8s集群节点详情 `http://127.0.0.1:10010/cluster/nodes/default`\n```json\n[\n    {\n        \"name\": \"master\",\n        \"status\": \"True\",\n        \"taints\": null,\n        \"os_image\": \"CentOS Linux 7 (Core)\",\n        \"internal_ip\": \"10.0.8.10\",\n        \"kernel_version\": \"3.10.0-1160.45.1.el7.x86_64\",\n        \"kubelet_version\": \"v1.18.2\",\n        \"creation_timestamp\": \"2022-04-05T03:28:46+08:00\",\n        \"container_runtime_version\": \"docker://19.3.8\"\n    },\n    {\n        \"name\": \"node1\",\n        \"status\": \"True\",\n        \"taints\": null,\n        \"os_image\": \"CentOS Linux 7 (Core)\",\n        \"internal_ip\": \"10.0.8.12\",\n        \"kernel_version\": \"3.10.0-1160.45.1.el7.x86_64\",\n        \"kubelet_version\": \"v1.18.2\",\n        \"creation_timestamp\": \"2022-04-05T03:31:54+08:00\",\n        \"container_runtime_version\": \"docker://19.3.8\"\n    }\n]\n```\n***\n* 查看k8s集群状态 `http://127.0.0.1:10010/cluster/extra/info/default`\n```json lines\n{\n    \"used_cpu\": 2.0100000000000002, //已使用的cpu\n    \"total_cpu\": 10,                //总cpu\n    \"used_memory\": 1648361472,      //已使用的内存\n    \"total_memory\": 15473422336,    //总内存\n    \"readyNodeNum\": 4,              //就绪节点数量\n    \"totalNodeNum\": 4               //总节点数量\n}\n```\n***\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldlb9527%2Fkubernetes-admin-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fldlb9527%2Fkubernetes-admin-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldlb9527%2Fkubernetes-admin-backend/lists"}