Skip to content

crazyfrankie/kube-ctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kube-ctl

Kube-ctl 是 kubernetes 的一个可视化系统. 提供给用户一系列方式操作 kubernetes 集群

演示地址: https://k8s.crazyfrank.top

本项目是一个严格意义上的 CRUD 项目, 但侧重点在于学习 kubernetes 整个系统的组成.

阅读官方文档、阅读 k8s 源码是本项目的核心

技术栈

Gin + kubernetes/client-go

简介

  • Namespace 查询
  • Pod 创建、更新、删除、查询(详情和列表)
  • Node 列表、详情、Node 所包含的 Pods、标签更新、污点更新
  • ConfigMap 创建、更新、删除、查询(详情和列表)
  • Secret 创建、更新、删除、查询(详情和列表)
  • PersistentVolume 创建、查询、删除
  • PersistentVolumeClaim 创建、查询、删除
  • StorageClass 创建、查询、删除
  • Pod 支持多种存储卷: EmptyDir、ConfigMap、Secret、HostPath、DownwardAPI、PersistentVolume
  • Service 创建、更新、删除、查询(详情和列表)
  • Ingress 创建、更新、删除、查询(详情和列表)
    • 注: Ingress controller 在本系统中作为了系统内置资源,如果在使用 Ingress 之前没有编写 IngressClass 资源的配置文件去创建 Ingress Controller, 请先创建
  • IngressRoute 创建、更新、删除、查询
  • Deployment 创建、更新、删除、查询(详情和列表)
  • DaemonSet 创建、更新、删除、查询(详情和列表)
  • StatefulSet 创建、更新、删除、查询(详情和列表)
  • Job 创建、更新、删除、查询(详情和列表)
  • CronJob 创建、更新、删除、查询(详情和列表)
  • ServiceAccount 创建、更新、删除、查询(详情和列表)
  • Role | ClusterRole 创建、更新、删除、查询(详情和列表)
  • RoleBinding | ClusterRoleBinding 创建、更新、删除、查询(详情和列表)

启动

v1:

项目在开发和测试阶段, 均以集群外的方式访问, 需按照下面的步骤进行启动

  1. 在项目根目录下新建 .kube 文件夹, 将集群中 control-plane 机器上的 ~/.kube/config 复制到文件夹下
  2. 参照 conf/test/example.yaml 修改对应配置

v2:

服务内置发现机制

  • 动态判断是集群外访问还是集群内访问
  • 若为集群外, 走默认路径, 用户仍需参照 v1 进行配置
  • 若为集群内, 走集群内访问机制

项目前端

kube-ctl-web

About

kubernetes visualization system

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors