apis: 控制器,接口访问的入口,文件大多以k8s资源命名config: 配置文件,程序端口和k8s的config配置middleware:中间件,配置跨域访问和prometheus监控proto: 返回给前端的实体,类似于VO对象,Cluster.go用于配置多集群管理router: 路由层,路由分组和匹配,与apis包中函数绑定service: 业务处理层terminal: 提供web界面进入pod和webssh
- ①首先你需要一个k8s集群,用k8s master节点下的/root/.kube/config替换当前项目./config/.kube/default/config
- ②如果你的本地与k8s集群在同一内网环境,然后就可以直接运行了
- ③如果你的本地与k8s集群不在同一内网环境(比如集群在云端),本地运行会报错,需要扩展k8s访问地址,k8s扩展地址参考
- ④扩展地址后,将config放在对应目录
./config/.kube/config,加载配置文件的代码在client包 - ⑤将config文件的server修改为你扩展的外网ip,然后直接运行
- ⑥terminal.go的使用需要websocket,可使用新版本的postman,如需使用webssh 请配置正确的账户(apis/terminal.go中) 支持password 或publickey
- 查看k8s集群的版本:
http://127.0.0.1:10010/cluster/version/default
{ "major": "1", "minor": "18", "gitVersion": "v1.18.2", "gitCommit": "52c56ce7a8272c798dbc29846288d7cd9fbae032", "gitTreeState": "clean", "buildDate": "2020-04-16T11:48:36Z", "goVersion": "go1.13.9", "compiler": "gc", "platform": "linux/amd64" }- 查看k8s集群节点详情
http://127.0.0.1:10010/cluster/nodes/default
[ { "name": "master", "status": "True", "taints": null, "os_image": "CentOS Linux 7 (Core)", "internal_ip": "10.0.8.10", "kernel_version": "3.10.0-1160.45.1.el7.x86_64", "kubelet_version": "v1.18.2", "creation_timestamp": "2022-04-05T03:28:46+08:00", "container_runtime_version": "docker://19.3.8" }, { "name": "node1", "status": "True", "taints": null, "os_image": "CentOS Linux 7 (Core)", "internal_ip": "10.0.8.12", "kernel_version": "3.10.0-1160.45.1.el7.x86_64", "kubelet_version": "v1.18.2", "creation_timestamp": "2022-04-05T03:31:54+08:00", "container_runtime_version": "docker://19.3.8" } ]- 查看k8s集群状态
http://127.0.0.1:10010/cluster/extra/info/default
{ "used_cpu": 2.0100000000000002, //已使用的cpu "total_cpu": 10, //总cpu "used_memory": 1648361472, //已使用的内存 "total_memory": 15473422336, //总内存 "readyNodeNum": 4, //就绪节点数量 "totalNodeNum": 4 //总节点数量 }