kubesphere官方架构说明文档地址
后端代码目录说明
官方文档说明与3.4.0版本目录结构有所不同,以下是我自己整理的目录结构
/etc/kubesphere/kubesphere-3.4.0# tree -L 1
├── api //自动生成的api文档
│ ├── api-rules //api文档规范
│ │ └── violation_exceptions.list //违规例外的api集合
│ ├── ks-openapi-spec //KubeSphere apiserver提供的REST API文档,/kapi 和/kapis 是 KubeSphere 拓展聚合的 API
│ │ └── swagger.json
│ └── openapi-spec //KubeSphere apiserver提供的REST API文档,/api和 /apis开头的都属于 Kubernetes 原生的 API
│ └── swagger.json
├── build //KubeSphere的构建文件
│ ├── ks-apiserver //构建KubeSphere apiserver的Dockerfile文件
│ │ └── Dockerfile
│ └── ks-controller-manager //构建KubeSphere controller-manager的Dockerfile文件
│ └── Dockerfile
├── CHANGELOG //当前版本的更新内容或者历史更新内容
│ ├── CHANGELOG-3.3.1.md
│ ├── CHANGELOG-3.3.2.md
│ └── CHANGELOG-3.3.md
├── cmd //命令接口, 执行文件代码入口, 服务注册入口
│ ├── controller-manager //KubeSphere controller-manager服务入口
│ │ ├── app
│ │ └── controller-manager.go //入口main函数
│ └── ks-apiserver //KubeSphere apiserver 服务入口
│ ├── apiserver.go //入口main函数
│ └── app
│
├── config // KubeSphere 的配置文件
│ ├── gateway // KubeSphere 网关的配置文件
│ │ ├── Chart.yaml //网关的版本信息。
│ │ ├── templates //ingress配置模板
│ │ └── values.yaml //网关的默认值
│ ├── ks-core // KubeSphere 的一些核心组件的配置文件
│ │ ├── Chart.yaml //kubessphere核心组件的版本信息
│ │ ├── crds //CRD yaml文件
│ │ ├── templates //核心组件的配置模板
│ │ └── values.yaml //核心组件的默认值
│ └── watches.yaml
├── CONTRIBUTING.md //说明如何贡献代码,如何开源协同等等
├── docs //存放设计文档、开发文档和用户文档等
│ ├── build-multiarch-images.md
│ ├── images //文档相关图片
│ │ ├── app-store.png
│ ├── powered-by-kubesphere.md
│ └── roadmap.md
├── go.mod //Go语言包依赖管理使用的配置文件
├── go.sum
├── hack //帮助开发的脚本文件
│ ├── boilerplate.go.txt
│ ├── build_e2e.sh
│ ├── build-scripts
│ │ ├── get-etcd.sh
│ │ ├── get-helm.sh
│ │ ├── get-kubernetes.sh
│ │ └── get-kustomize.sh
│ ├── cherry_pick_pull.sh
│ ├── custom-boilerplate.go.txt
│ ├── deploy-kubesphere.sh
│ ├── docker_build_multiarch.sh
│ ├── docker_build.sh
│ ├── generate_certs.sh
│ ├── generate_client.sh
│ ├── generate_group.sh
│ ├── generate_manifests.sh
│ ├── gobuild.sh
│ ├── init_env.sh
│ ├── kind_e2e.sh
│ ├── lib
│ │ ├── golang.sh
│ │ ├── init.sh
│ │ ├── logging.sh
│ │ ├── util.sh
│ │ └── version.sh
│ ├── lint-dependencies.sh
│ ├── pin-dependency.sh
│ ├── setup-kubebuilder-env.sh
│ ├── tools
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── README.md
│ │ └── tools.go
│ ├── update-gofmt.sh
│ ├── update-goimports.sh
│ ├── update-licenses.sh
│ ├── update-vendor-licenses.sh
│ ├── update-vendor.sh
│ ├── verify-all.sh
│ ├── verify-gofmt.sh
│ ├── verify-goimports.sh
│ ├── verify-golangci-lint.sh
│ ├── verify-licenses.sh
│ ├── verify-shellcheck.sh
│ └── verify-spelling.sh
├── install //安装脚本
│ ├── ingress-controller
│ │ ├── ingress-controller-svc.yaml
│ │ └── ingress-controller.yaml
│ ├── scripts
│ │ └── docker_push
│ └── swagger-ui
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── index.html
│ ├── oauth2-redirect.html
│ ├── swagger-ui-bundle.js
│ ├── swagger-ui-bundle.js.map
│ ├── swagger-ui.css
│ ├── swagger-ui.css.map
│ ├── swagger-ui.js
│ ├── swagger-ui.js.map
│ ├── swagger-ui-standalone-preset.js
│ └── swagger-ui-standalone-preset.js.map
├── kube //k8s中的一些代码库和插件代码
│ ├── pkg //代码库
│ │ ├── api
│ │ ├── apis
│ │ ├── features
│ │ └── quota
│ └── plugin //插件代码
│ └── pkg
├── LICENSE //Apache License
├── LICENSES //kubesphere的一些版权文件
│ ├── LICENSE
│ └── vendor //本地缓存的特定版本的版权文件
│ ├── code.cloudfoundry.org
│ ├── github.com
│ ├── go.etcd.io
│ ├── golang.org
│ ├── gomodules.xyz
│ ├── go.mongodb.org
│ ├── google.golang.org
│ ├── go.opentelemetry.io
│ ├── gopkg.in
│ ├── go.starlark.net
│ ├── gotest.tools
│ ├── go.uber.org
│ ├── helm.sh
│ ├── istio.io
│ ├── k8s.io
│ ├── kubesphere.io
│ ├── oras.land
│ └── sigs.k8s.io
├── Makefile //对项目进行管理,包括一些版本信息、单元测试、编译,环境等配置
├── OWNERS //项目开发人员信息
├── pkg //kubesphere核心代码库
│ ├── api //api的结构定义
│ │ ├── alerting
│ │ ├── auditing
│ │ ├── cluster
│ │ ├── devops
│ │ ├── events
│ │ ├── logging
│ │ ├── metering
│ │ ├── resource
│ │ ├── types.go
│ │ └── utils.go
│ ├── apis //crds的结构定义
│ │ ├── addtoscheme_alerting_v2beta1.go
│ │ ├── addtoscheme_application_v1alpha1.go
│ │ ├── addtoscheme_audting_v1alpha1.go
│ │ ├── addtoscheme_cluster_v1alpha1.go
│ │ ├── addtoscheme_dashboard_v1alpha1.go
│ │ ├── addtoscheme_dashboard_v1alpha2.go
│ │ ├── addtoscheme_devops_v1alpha1.go
│ │ ├── addtoscheme_devops_v1alpha3.go
│ │ ├── addtoscheme_iam_v1alpha2.go
│ │ ├── addtoscheme_monitoring_v1alpha3.go
│ │ ├── addtoscheme_network_v1alpha1.go
│ │ ├── addtoscheme_notification_v2beta1.go
│ │ ├── addtoscheme_notification_v2beta2.go
│ │ ├── addtoscheme_quota_v1alpha2.go
│ │ ├── addtoscheme_servicemesh_v1alpha2.go
│ │ ├── addtoscheme_storage_v1alpha1.go
│ │ ├── addtoscheme_tenant_v1alpha1.go
│ │ ├── addtoscheme_tenant_v1alpha2.go
│ │ ├── addtoscheme_types_v1beta1.go
│ │ ├── addtoscheme_types_v1beta2.go
│ │ └── apis.go
│ ├── apiserver //REST API参数处理
│ │ ├── apiserver.go
│ │ ├── auditing
│ │ ├── authentication
│ │ ├── authorization
│ │ ├── config
│ │ ├── filters
│ │ ├── metric.go
│ │ ├── query
│ │ ├── request
│ │ ├── runtime
│ │ └── server
│ ├── client //自动生成CRD客户端
│ │ ├── clientset
│ │ ├── informers
│ │ └── listers
│ ├── constants //常见的常量
│ │ └── constants.go
│ ├── controller //控制器管理器协调逻辑
│ │ ├── alerting
│ │ ├── application
│ │ ├── certificatesigningrequest
│ │ ├── cluster
│ │ ├── clusterrolebinding
│ │ ├── destinationrule
│ │ ├── globalrole
│ │ ├── globalrolebinding
│ │ ├── group
│ │ ├── groupbinding
│ │ ├── helm
│ │ ├── job
│ │ ├── loginrecord
│ │ ├── namespace
│ │ ├── network
│ │ ├── notification
│ │ ├── openpitrix
│ │ ├── quota
│ │ ├── serviceaccount
│ │ ├── storage
│ │ ├── user
│ │ ├── utils
│ │ ├── virtualservice
│ │ ├── workspace
│ │ ├── workspacerole
│ │ ├── workspacerolebinding
│ │ └── workspacetemplate
│ ├── informers //kubessphere需要的所有共享的informer工厂组成的组
│ │ ├── informers.go
│ │ └── null_informers.go
│ ├── kapis //kubessphere 中的REST API注册
│ │ ├── alerting
│ │ ├── cluster
│ │ ├── config
│ │ ├── devops
│ │ ├── edgeruntime
│ │ ├── gateway
│ │ ├── generic
│ │ ├── iam
│ │ ├── kubeedge
│ │ ├── metering
│ │ ├── monitoring
│ │ ├── network
│ │ ├── notification
│ │ ├── oauth
│ │ ├── openpitrix
│ │ ├── operations
│ │ ├── resources
│ │ ├── servicemesh
│ │ ├── tenant
│ │ ├── terminal
│ │ └── version
│ ├── models //kubessphere REST API的数据处理部分
│ │ ├── alerting
│ │ ├── auditing
│ │ ├── auth
│ │ ├── components
│ │ ├── devops
│ │ ├── events
│ │ ├── gateway
│ │ ├── git
│ │ ├── iam
│ │ ├── kubeconfig
│ │ ├── kubectl
│ │ ├── logging
│ │ ├── metering
│ │ ├── monitoring
│ │ ├── notification
│ │ ├── openpitrix
│ │ ├── quotas
│ │ ├── registries
│ │ ├── resources
│ │ ├── revisions
│ │ ├── routers
│ │ ├── storage
│ │ ├── tenant
│ │ ├── terminal
│ │ ├── types.go
│ │ └── workloads
│ ├── server //kubessphere REST API的数据处理部分
│ │ ├── errors
│ │ ├── healthz
│ │ ├── options
│ │ └── params
│ ├── simple //公共的客户端
│ │ └── client
│ ├── test //测试
│ │ ├── testing.go
│ │ └── yaml.go
│ ├── utils //公共的工具类
│ │ ├── clusterclient
│ │ ├── conversions
│ │ ├── esutil
│ │ ├── hashutil
│ │ ├── idutils
│ │ ├── iputil
│ │ ├── josnpatchutil
│ │ ├── jsonutil
│ │ ├── k8sutil
│ │ ├── metrics
│ │ ├── net
│ │ ├── pkiutil
│ │ ├── readerutils
│ │ ├── reflectutils
│ │ ├── reposcache
│ │ ├── resourceparse
│ │ ├── signals
│ │ ├── sliceutil
│ │ ├── stringutils
│ │ └── term
│ ├── version
│ │ └── version.go
│ └── webhook
│ └── webhook.go
├── README.md
├── README_zh.md
├── SECURITY.md
├── staging
│ ├── publishing
│ │ └── rules.yaml
│ ├── README.md
│ └── src
│ └── kubesphere.io
├── test //测试代码
│ ├── e2e
│ │ ├── constant
│ │ ├── e2e.go
│ │ ├── e2e_test.go
│ │ ├── framework
│ │ ├── groups.go
│ │ ├── kind.yaml
│ │ ├── quick.go
│ │ └── workspaces.go
│ ├── network
│ │ ├── Dockerfile
│ │ ├── Jenkinsfile
│ │ ├── manifests
│ │ ├── OWNERS
│ │ └── test.sh
│ └── testdata
│ └── certs
├── tools //生成API文档的工具
│ ├── cmd
│ │ ├── crd-doc-gen
│ │ └── doc-gen
│ ├── lib
│ │ ├── render.go
│ │ └── storage.go
│ └── tools.go
└── vendor