Skip to content

vite + electron + naveui + nestjs + vue + typescript + k8s + openAI = enjoy k8s playing

License

Notifications You must be signed in to change notification settings

weibaohui/k8s-playgrounds

Repository files navigation

⚡k8s playground

Golang 版本

C# 版本

SDK版本

Introduce

使用Vue、TypeScript、Electron技术打造的k8s playground客户端。 框架上使用了NaiveUI+NestJS。 使用ChatGPT进行智能化加持,做使用简单、智能的k8s 管理UI。 增加了编辑器及文档显示功能,边写边查,更快捷

How to use

docker

执行如下命令行

docker run -it --rm -v ~/.kube:/root/.kube -p 3007:3007 ghcr.io/weibaohui/k8s-playgrounds:latest

在k8s集群中运行

kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8s-playgrounds/main/yaml/k8s-playgrounds.yaml

dev

  • In the project folder:
    # install dependencies
    pnpm install # npm install
    
    # run in developer mode
    pnpm dev # npm run dev , ui display will be blank or error , please run pnpm gen command 
    pnpm gen # gen http client for call backend apis  
    # if  command not found , run this : `npm install openapi-typescript-codegen -g`
    # build
    pnpm build # npm run build

Note for PNPM

In order to use with pnpm, you'll need to adjust your .npmrc to use any one the following approaches in order for your dependencies to be bundled correctly ( ref: #6389):

node-linker=hoisted
public-hoist-pattern=*
shamefully-hoist=true

功能列表

分类 功能 状态✅/☑️
Pod 列表
Pod 列表-状态自动更新
Pod 列表-错误提示
Pod 列表-批量删除
Pod 列表-常用操作
Pod 列表-错误提示
Pod 列表-关键字搜索过滤
Pod 列表-Namespace过滤
Pod 列表-查看yaml
Pod 详情
Pod 详情-Exec
Pod 详情-Log
Pod 详情-删除
Pod 详情-事件
Pod 详情-污点
Pod 详情-注解
Pod 详情-账户
Pod 详情-状态
Pod 详情-Volume
Pod 详情-Env
Pod 详情-主机
Pod 详情-查看yaml
Pod 端口转发
Event 列表
Event 列表-单显Warning
Event 列表-关联Pod
Event 列表-关联Node
Event 详情
Event 详情-查看关联对象
Event 详情-查看yaml
Namespace 列表
Namespace 详情
Namespace 详情-关联Event
Namespace 详情-查看yaml
Node 列表
Node 列表-状态自动更新
Node 详情
Node 详情-节点角色
Node 详情-调度状态
Node 详情-cordon操作
Node 详情-drain驱逐操作
Node 详情-查看yaml
ReplicaSet 列表
ReplicaSet 列表-查看yaml
ReplicaSet 列表-删除
ReplicaSet 详情
ReplicaSet 详情-查看yaml
ReplicaSet 详情-删除
Deployment 列表
Deployment 列表-重启
Deployment 列表-删除
Deployment 列表-查看yaml
Deployment 列表-状态
Deployment 列表-Scale
Deployment 详情
Deployment 详情-重启
Deployment 详情-删除
Deployment 详情-查看yaml
Deployment 详情-Scale
DaemonSet 列表
DaemonSet 列表-查看yaml
DaemonSet 列表-删除
DaemonSet 详情
DaemonSet 详情-查看yaml
DaemonSet 详情-删除
ReplicationController 列表
ReplicationController 列表-删除
ReplicationController 列表-查看yaml
ReplicationController 列表-状态
ReplicationController 列表-Scale
ReplicationController 详情
ReplicationController 详情-删除
ReplicationController 详情-查看yaml
ReplicationController 详情-Scale
StatefulSet 列表
StatefulSet 列表-重启
StatefulSet 列表-删除
StatefulSet 列表-查看yaml
StatefulSet 列表-状态
StatefulSet 列表-Scale
StatefulSet 详情
StatefulSet 详情-重启
StatefulSet 详情-删除
StatefulSet 详情-查看yaml
StatefulSet 详情-Scale
CronJob 列表
CronJob 列表-查看yaml
CronJob 列表-暂停/恢复
CronJob 列表-删除
CronJob 列表-手动执行
CronJob 详情
CronJob 详情-查看yaml
CronJob 详情-暂停/恢复
CronJob 详情-删除
CronJob 详情-手动执行
Job 列表
Job 列表-查看yaml
Job 列表-删除
Job 详情
Job 详情-查看yaml
Job 详情-删除
ConfigMap 列表
ConfigMap 列表-查看yaml
ConfigMap 列表-删除
ConfigMap 详情
ConfigMap 详情-查看yaml
ConfigMap 详情-删除
ConfigMap 详情-更新配置项
Secret 列表
Secret 列表-查看yaml
Secret 列表-删除
Secret 详情
Secret 详情-查看yaml
Secret 详情-删除
Secret 详情-更新配置项
PriorityClass 列表
PriorityClass 列表-查看yaml
PriorityClass 列表-删除
PriorityClass 列表-全局默认
PriorityClass 详情
PriorityClass 详情-查看yaml
PriorityClass 详情-删除
PriorityClass 详情-全局默认
ResourceQuota 列表
ResourceQuota 列表-查看yaml
ResourceQuota 列表-删除
ResourceQuota 详情
ResourceQuota 详情-查看yaml
ResourceQuota 详情-删除
LimitRange 列表
LimitRange 列表-查看yaml
LimitRange 列表-删除
LimitRange 详情
LimitRange 详情-查看yaml
LimitRange 详情-删除
HorizontalPodAutoscaler 列表
HorizontalPodAutoscaler 列表-查看yaml
HorizontalPodAutoscaler 列表-删除
HorizontalPodAutoscaler 详情
HorizontalPodAutoscaler 详情-查看yaml
HorizontalPodAutoscaler 详情-查看指标
HorizontalPodAutoscaler 详情-查看状态
HorizontalPodAutoscaler 详情-删除
PodDisruptionBudget 列表
PodDisruptionBudget 列表-查看yaml
PodDisruptionBudget 列表-删除
PodDisruptionBudget 详情
PodDisruptionBudget 详情-查看yaml
PodDisruptionBudget 详情-删除
Endpoint 列表
Endpoint 列表-查看yaml
Endpoint 列表-删除
Endpoint 详情
Endpoint 详情-IP列表
Endpoint 详情-未生效IP列表
Endpoint 详情-端口列表
Endpoint 详情-查看yaml
Endpoint 详情-删除
EndpointSlice 列表
EndpointSlice 列表-查看yaml
EndpointSlice 列表-删除
EndpointSlice 详情
EndpointSlice 详情-IP列表
EndpointSlice 详情-端口列表
EndpointSlice 详情-查看yaml
EndpointSlice 详情-删除
Service 列表
Service 列表-查看yaml
Service 列表-删除
Service 详情
Service 详情-查看yaml
Service 详情-删除
Service 端口转发
Ingress 列表
Ingress 列表-域名映射
Ingress 列表-查看yaml
Ingress 列表-删除
Ingress 详情
Ingress 详情-查看yaml
Ingress 详情-删除
IngressClass 列表
IngressClass 列表-查看yaml
IngressClass 列表-设置默认
IngressClass 列表-删除
IngressClass 详情
IngressClass 详情-查看yaml
IngressClass 详情-设置默认
IngressClass 详情-删除
IngressClass 列表
StorageClass 列表-查看yaml
StorageClass 列表-设置默认
StorageClass 列表-删除
StorageClass 详情
StorageClass 详情-查看yaml
StorageClass 详情-设置默认
StorageClass 详情-删除
PV 列表
PV 列表-查看yaml
PV 列表-删除
PV 详情
PV 详情-查看yaml
PV 详情-查看PVC
PV 详情-删除
PVC 列表
PVC 列表-查看yaml
PVC 列表-删除
PVC 详情
PVC 详情-查看yaml
PVC 详情-查看PV
PVC 详情-删除
WebHook(Validating\Mutating) 列表
WebHook(Validating\Mutating) 列表-查看yaml
WebHook(Validating\Mutating) 列表-删除
WebHook(Validating\Mutating) 详情
WebHook(Validating\Mutating) 详情-查看yaml
WebHook(Validating\Mutating) 详情-删除
RBAC(role\cluster\binding\sa) 列表
RBAC(role\cluster\binding\sa) 列表-查看yaml
RBAC(role\cluster\binding\sa) 列表-删除
RBAC(role\cluster\binding\sa) 详情
RBAC(role\cluster\binding\sa) 详情-查看yaml
RBAC(role\cluster\binding\sa) 详情-删除

开发提示

nestjs 作为后端服务,前端使用 openapi-typescript-codegen 进行代码生成

  • 安装 :npm install openapi-typescript-codegen -g

k8s model 生成

ioK8sApiCoreV1ConfigMap V1ConfigMap
IoK8sApimachineryPkgApisMetaV1Status V1Status
ioK8sApiAppsV1ReplicaSet V1ReplicaSet
IoK8sApiBatchV1Job V1Job
IoK8sApiSchedulingV1PriorityClass V1PriorityClass
IoK8sApiAutoscalingV2HorizontalPodAutoscaler V2HorizontalPodAutoscaler
IoK8sApiPolicyV1PodDisruptionBudgetSpec V1PodDisruptionBudgetSpec
IoK8sApiAdmissionregistrationV1MutatingWebhook V1MutatingWebhook
IoK8sApiRbacV1Role V1Role

TODO

  • 文档翻译按钮
  • AI相关Tab
  • 编辑器保存功能

Demo

  • 操作demo

* 编辑器 文档 同屏显示

About

vite + electron + naveui + nestjs + vue + typescript + k8s + openAI = enjoy k8s playing

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages