项目地址:
https://gitee.com/eeenet/xkube
功能特性
-
跨公有云、跨IDC的多k8s集群统一管理平台
-
具备节点、节电池、命名空间、clusterRoleBinding、clusterRoles、RoleBinding、Roles、serviceAccounts的创建、详情、yaml文件查看、删除等功能。
-
workload方面支持对deployment、statefuleset、dameset、cronjob、job、pod容器组、cdr自定义资源、hpa伸缩的功能创建、yaml查看修改、删除功能。
-
无状态【deployment]:功能具备yaml在线编辑、yaml下载,在线修改升级策略,在线标签修改,在线重启,镜像更新,查看关联的pod对象、查看关联的service、ingress,创建hpa对deployment进行自动伸缩容,可以在线操作回滚到指定的镜像版本,查看该deployment的相关事件,在线查看日志,ssh终端登录关联的pod。
-
有状态【statefulset】:功能和deployment的类似,除有少量差异之外,相关功能基本一致。
-
守护进程【daemonset】的功能主要是对deamonset的相关信息进行分类查看。
-
任务【job】:具备日志、信息、事件、状态的查询功能。
-
定时任务【cronjob】:在线通过图形库界面进行创建、yaml文件进行创建、对计划任务的在线修改,在线更改状态等功能。
-
容器组【pod】:具备ssh登录、日志查看、实时查看pod的内存、cpu使用情况【需k8s环境安装metric-beat】等功能。
-
扩缩容【hpa】:在线图形化操作,根据pod的cpu、内存使用情况、定义pod的扩缩容。
-
自定义资源【cdr】:自定义资源的信息查看
-
yaml操作:可以通过在线的各种deployment、service、ingress、cronjob等yaml文件模板来进行资源的创建。
-
服务【service】:支持通过yaml来进行创建,对service的yaml配置查看和修改、支持图形操作创建。
-
路由【ingres】:支持通过yaml来进行创建,对service的yaml配置查看和修改、支持图形操作创建,目前只支持nginx-ingress。
-
配置【configmap】:支持图形化、yaml配置的查看、创建、修改和删除。
-
保密字典【secret】:支持图形化、yaml配置的查看、创建、修改和删除。
-
存储声明【pvc】:pvc的yaml查看、创建、修改、删除。
-
存储卷【pv】:存储卷信息的yaml查看、创建、修改、删除。
-
存储类【storageclass】:存储类信息的yaml查看、创建、修改、删除。
-
事件信息:查看当前集群中发生的事件信息。
-
应用集:按照资源的标签appname=myapp进行划分,将该项目所涉及的资源整合到统一界面便于管理。
-
权限管理:按照角色进行权限划分:超级管理员、普通管理员、只读等角色,并按照集群进行授权,只有授权的了对应集群权限的用户才能访问该集群的资源。
-
文档中心:markdown格式的文档编辑器、用于运维文档记录。
-
CICD:支持对接阿里云流水线,可以试下流水线的运行、信息查看、流程查看、日志查看等功能。
-
aws的eks集群管理:eks的管理需要进行通过aws进行认证才能进行管理,可以通过bearerToken实现对接管理。
### 开始部署 ###
1. 克隆代码
2. 进入到项目目录
3. 首先准备一个Redis,MySQL服务
Redis:设置端口,密码
MySQL:版本:5.7,然后创建一个xkube库,将db_xkube.sql导入进去
4. 修改配置文件
vim conf/app.conf
⚠️:端口和其他信息也都在配置文件里,根据情况修改。
# MySQL相关的配置
db_host = 127.0.0.1 #mysql的IP
db_port = 3306 #MySQL的端口
db_user = root #mysql的用户名
db_pass = root#123 #mysqld 密码
db_name = xkube #数据库名
# Redis相关的配置
redisDb = "192.168.100.17:6379" #redis的IP和端口
redisPasswd = "redis#123" #redis配置设置的密码
SessionProviderConfig = "192.168.100.171:6379,100,redis#123" #将redis的IP、端口、密码进行更改,100这个数字保留即可。
5. 赋权可执行文件
6. 启动服务
Linux环境下进入目录直接执行:nohub ./xkube &
Windows环境下执行./xkube.exe即可启动
就可以通过http://ip:8001/index 进行访问了。
注意:直接访问http://ip:8001/ 会出现404,需要附上/index这个路径。
7. 前端若有nginx反向代理需增加如下配置:
location ~^/xkube/pod/terminal/ws {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
### 服务页面展示 ###