KubeSphere Roadmap 全解读:v3.1 功能矩阵与开源实现落地路线

发布时间:2026/9/13 14:26:03
KubeSphere Roadmap 全解读:v3.1 功能矩阵与开源实现落地路线 KubeSphere Roadmap 全解读v3.1 功能矩阵与开源实现落地路线【免费下载链接】kubesphereThe container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ ☁️项目地址: https://gitcode.com/GitHub_Trending/ku/kubesphereKubeSphere 的 docs/roadmap.md 是一份面向社区的开源产品演进路线图按版本与功能模块梳理了从 2018 年首个版本到 v3.1 的发布计划、功能规划与社区期望。本文以该 Roadmap 为骨架逐模块解读 v3.1 的功能清单IAM、多租户、DevOps、微服务、KubeEdge、可观测性、多集群等并对照当前仓库源码与 Helm 配置说明这些规划在实际代码中的落地形态帮助读者从路线图快速定位到实现。Roadmap 是什么一份计划 进度双维度的路线文档Roadmap 的价值在于同时展示计划与进度Release Goals发布目标以表格形式列出从 Release Express 到 v3.0.0 的版本时间表功能清单按模块列出具体功能点并用[x]/[ ]标记已完成 / 规划中状态版本演进v3.1、v3.0、v2.1 三个版本的功能规划并存反映当时的未来方向文档同时声明计划可能随社区反馈而变化。Release Goals版本发布时间表文档中的发布目标表格完整记录了早期版本节奏EditionScheduleRelease ExpressJul, 2018Release v1.0.0Dec, 2018Release v1.0.1Jan, 2019Release v2.0.0May, 2019Release v2.0.1June, 2019Release v2.0.2Jul, 2019Release v2.1.0Nov, 2019Release v2.1.1Feb, 2020Release v3.0.0June, 2020从表中可以看出 KubeSphere 早期保持着约每 24 个月一个版本的迭代节奏2018 年发布首个版本2019 年进入 2.x 系列2020 年 6 月迎来 v3.0.0。v3.1 功能全景按模块逐项解读v3.1 是 Roadmap 中功能条目最多、标注完成度最高的版本几乎全部条目均已打上[x]已完成标记。IAM身份与访问管理的增强v3.1 的 IAM 模块核心是扩展身份提供方Identity Provider生态与账号生命周期管理账号确认流程解决用户名含特殊字符带来的问题新增 CAS 身份提供方支持 CAS 协议见 issue #3047新增 OIDC 身份提供方支持 OpenID Connect 协议#2941新增阿里云 IDaaS#2997改进 LDAP 身份提供方支持 LDAPS 与搜索过滤器#2970简化身份提供方配置将其插件化#2970限制登录记录最大条目数#3191Service Account 管理允许为 Service Account 分配角色#3211。以上这些功能在当前仓库的 pkg/apiserver/authentication/identityprovider 目录中均有对应实现cas/、oidc/、ldap/、aliyunidaas/、github/等子目录各对应一种身份提供方。插件化注册机制各提供方在init()中通过工厂函数完成注册。以 identity_provider_factory.go 为例var ( oauthProviderFactories make(map[string]OAuthProviderFactory) genericProviderFactories make(map[string]GenericProviderFactory) ) func RegisterOAuthProviderFactory(factory OAuthProviderFactory) { oauthProviderFactories[factory.Type()] factory } func RegisterGenericProviderFactory(factory GenericProviderFactory) { genericProviderFactories[factory.Type()] factory }OAuth 类CAS、OIDC、GitHub 等与通用类LDAP 等分别注册Type()返回的字符串如CASIdentityProvider、OIDCIdentityProvider、LDAPIdentityProvider作为配置中的类型标识。配置模型configuration.go 中的Configuration结构定义了每个身份提供方的通用字段name提供方名称mappingMethod登录时新身份到用户的映射方式允许值包括manual用户需要在引导页确认映射的用户名auto跳过引导页用户无法更改用户名若该用户名已映射到其他身份则失败lookup只查找已存在的身份、映射和用户不自动创建用户或身份需手动预置用户type身份提供方类型对应工厂注册的 Typehidden是否隐藏登录按钮disabled是否禁用该提供方displayName显示名称provider各提供方特有的动态选项DynamicOptions。配置以 KubeSphere 命名空间下的 Secret 形式存储SecretTypeIdentityProvider config.kubesphere.io/identityprovider数据键为configuration.yamlGetConfiguration会跳过disabled的提供方未找到时返回ErrorIdentityProviderNotFound。CAS 实现要点cas/cas.go 的配置项包括redirectURL、casServerURL和insecureSkipVerify回调时校验ticket并调用ValidateServiceTicket换取用户身份GetUserID/GetUsername均返回 CAS 用户。OIDC 实现要点oidc/oidc.go 支持基于issuer的动态发现自动获取 authorization/token/userinfo/jwks/end-session 端点其余关键配置项包括clientID/clientSecretOAuth 2.0 应用凭证redirectURLOAuth 回调地址scopes请求的权限范围openid会被强制加入postLogoutRedirectURI登出后跳转地址getUserInfo是否通过 userinfo 端点获取补充声明适用于上游返回瘦ID Token 的场景insecureSkipVerify是否关闭 TLS 证书校验emailKey/preferredUsernameKey可配置的 email 与用户名声明键名。LDAP 实现要点ldap/ldap.go 印证了 Roadmap 中支持 LDAPS 与搜索过滤器的规划其配置项覆盖hostLDAP 服务器地址host:port未指定端口时 ldap 默认 389、ldaps 默认 636startTLS/insecureSkipVerify/rootCA/rootCADataTLS 相关managerDN/managerPassword管理员绑定凭证userSearchBase/userSearchFilter用户搜索范围与过滤条件如(objectClassperson)groupSearchBase/groupSearchFilter/userMemberAttribute/groupMemberAttribute组搜索与成员属性loginAttribute/mailAttribute登录名与邮箱属性映射readTimeout读取超时毫秒默认 15000。认证流程为先用 ManagerDN 绑定 → 按(loginAttribute用户名)与用户过滤条件组合搜索 → 再用用户条目 DN 与密码绑定验证 → 返回用户名与邮箱。认证相关配置在 config/ks-core/values.yaml 的authentication段中可看到配套参数authentication: authenticateRateLimiterMaxTries: 10 authenticationRateLimiterDuration: 10m0s loginHistoryRetentionPeriod: 168h enableMultiLogin: true issuer: maximumClockSkew: 10s jwtSecret: # 为空时自动生成随机串 accessTokenMaxAge: 2h accessTokenInactivityTimeout: 30m这些参数会经 kubesphere-config.yaml 模板渲染为 ks-apiserver 的配置限流最大尝试次数、JWT 时钟偏移容忍等与 Roadmap 中限制登录记录最大条目数的规划相呼应。多租户Multitenancy用户组与工作空间配额v3.1 多租户模块的规划与完成情况用户组[x]#2940用户可被分配到组并可把组邀请进工作空间或项目——这正是当前仓库中group、groupbinding、workspacetemplate等控制器的职责所在见 pkg/controller 下的group/、groupbinding/、workspacerole/、workspacerolebinding/等目录工作空间资源配额[x]#2939工作空间级配额与 Kubernetes 的 ResourceQuota 语义一致约束其下所有命名空间的聚合资源消耗仓库中 pkg/controller/quota 与 kube/plugin/pkg/admission/resourcequota 即配额评估与准入控制实现删除工作空间时选择是否级联删除相关资源[x]#3192将命名空间转移至另一工作空间[ ]#3028当时规划中未完成。DevOps流水线与 S2I 增强v3.1 的 DevOps 规划几乎全部完成支持GitLab 多分支流水线#3100同时运行多条流水线而非仅一条#1811支持从已有流水线创建流水线#3053为流水线增加审批控制#2483、#3006在首页展示流水线状态#3007支持Tag 触发流水线#3051流水线 Cron 文本使用可读的错误信息#2919交互式创建流水线console #1283增加S2I Webhook支持s2ioperator #6S2I 使用可读的错误信息s2ioperator #140。配套的升级项还包括Jenkins 升级到 2.249.1#2618、改用 Jenkins 发行版方案部署#2182。仓库中pkg/kapis/与pkg/models/提供了 DevOps 相关的 API 层支撑。微服务Microservice流量治理可视化组合应用流量图支持出站/入站流量方向#3153支持 Kiali 插件用户可直接通过 Kiali 管理 Istio#3106Nginx Ingress 网关监控为 nginx ingress controller 增加 Prometheus 指标ks-installer #1205支持添加路由器Router组件console #1426。这些能力对应仓库中pkg/controller/application/组合应用与流量拓扑相关控制器以及pkg/kapis/下的应用与网关 API。KubeEdge 集成边缘节点全流程支持Roadmap 用独立小节列出了 KubeEdge 集成的完整清单#3070全部完成KubeEdge 云端组件安装KubeEdge 边缘节点安装边缘节点日志与指标支持边缘节点加入/离开时自动网络配置边缘节点加入时自动打污点taint云上工作负载如 DaemonSet通过 node selector 避免调度到边缘节点宽容忍度场景支持将工作负载调度到边缘节点。可观测性Observability监控、告警、通知与日志复用已有 Prometheus 栈BYOP#3068、#1164允许用户直接使用自建的 Prometheus 栈而不是强制由 KubeSphere 部署一套。自定义监控#3067通过 UI 配置 ServiceMonitorconsole #1301PromQL 自动补全与语法高亮console #1307支持集群级自定义监控#3193提供把 Grafana Dashboard 转换为 KubeSphere Dashboard 的工具monitoring-dashboard #9。自定义告警#3065Prometheus 告警规则管理#3181告警规则租户级隔离全局/命名空间级告警规则#3181列出某条告警规则对应的告警列表#3181。多租户通知#3066支持更多通知渠道Email、钉钉DingTalk、Slack、企业微信WeCom、Webhook完成通知的多租户管控规划中未完成。当前仓库的 config/ks-core/files/extensions.customresourcefilters.rego 以及pkg/apiserver/auditing/、pkg/controller/telemetry/等模块与可观测性/审计链路相关日志相关能力则由 FluentBit Operator 生态承载。日志支持将日志输出到Lokifluentbit-operator #39支持收集kubelet / docker / containerd日志#38支持收集auditd日志#45containerd 日志格式支持规划中未完成。可观测性组件升级Prometheus 升级到 v2.26.0、kube-state-metrics 升级到 v1.9.7、Notification Manager 升级到 v1.0.0、FluentBit Operator 升级到 v0.5.0、FluentBit 升级到 v1.6.9。应用生命周期管理OpenPitrixCRD 重构使用 CRD 重构 OpenPitrix[x]#3036 及关联的 #3001、#2995、#2981、#2954、#2951、#2783、#2713、#2700、#1903修复旧架构导致的系列 Bug。仓库中pkg/controller/application/下的appcategory_controller.go、apprelease_controller.go、appversion_contrlller.go、helm_repo_controller.go等控制器正是应用生命周期管理按 CRD 落地后的控制器实现。网络NetworkCalico 与虚拟机的 IPPool#3057支持使用静态 IP 部署#3058网络可视化#3061、#583。计量Metering支持在集群、工作空间、应用模板三个层级查看资源消耗#3062。多集群MultiCluster主机-成员集群模型完善校验成员集群配置当成员集群的配置如jwtSecret与主集群不一致时提前校验降低加入集群的复杂度#3232支持配置集群控制器 resync 周期让组件更新更及时#3213轻量级成员集群安装成员集群可运行在不含 Redis、LDAP 等组件的精简模式下#3056重构集群控制器使用代理连接时由集群控制器更新cluster.status字段而非由 tower 服务端更新#3234Tower 服务端与 Agent 的高可用运行服务端 leader election、多 Agent 运行——规划中未完成tower #31。当前仓库的 pkg/controller/cluster/cluster_controller.go 即多集群模式下主集群侧的控制循环实现等待 Agent 就绪代理连接时→ 通过 kubeconfig 将成员集群加入联邦控制面 → 拉取集群版本并写入状态控制器还会定期将集群重新入队以同步状态。同时该控制器仅以clusterRole host时启用印证了主/成员集群职责分离的设计。v3.1 升级项与 BugFix 汇总核心升级项Istio 1.4.8 → 1.6.10#3326prometheus client_golang → v1.5.1、prometheus → v1.8.2#3097工具箱Toolbox中的 Kubectl 版本与 Kubernetes 服务端版本匹配#3103K8s 依赖从 v1.17 升级到 v1.18#3274Jenkins → 2.249.1#2618改用 Jenkins 发行版方案部署#2182。代表性 BugFix均标注已完成仅个别例外修复以kube开头的命名空间中无法获取服务网格图的问题#3126修复工作负载部署到 Kubernetes 时的bad_certificate错误#3112修复 DevOps 项目管理员无法下载制品的问题#3088修复因目录中找不到 admin 用户而无法创建流水线的问题#3105修复 Pod 查看者pod viewer可连接容器终端的安全风险#3041修复 admission webhook 自签名证书依赖旧版 Common Name 字段的问题#2928修复灰度发布在服务 app 标签与服务名不一致时的异常#3128修复应用状态持续更新的问题#3241修复加入主集群时同名工作空间被删除的问题#3169修复使用代理连接时集群无法退出联邦平面#3202与边缘集群无法加入主集群的问题#3198修复多集群状态条件multi-cluster-status-condition问题#3135修复无法滚动重启 tower agent 的问题tower #29级联删除时部分资源无法删除的问题#2912当时规划中未完成。v3.0 与 v2.1 规划曾经计划中的方向Roadmap 同时保留了 v3.0 与 v2.1 两个版本的规划条目多数当时尚未完成可作为了解演进脉络的参考v3.0 规划要点DevOps流水线创建/编辑流程优化、S2I/B2I 支持 webhook、镜像仓库优化、流水线集成 JIRA 与 KubeSphere 通知与自定义监控部分标注完成Observability日志控制台增强、监控栈升级、自定义指标应用自定义指标 Dashboard 与 HPA、集成 Alertmanager、K8s Event 管理、K8s Audit 支持、通知增强标注为规划中Storage快照管理、卷克隆、卷监控与告警、识别存储系统能力、卷恢复可用状态、统一集成第三方存储插件均为规划中Security MultitenancyOAuth2 SSO 插件、工作空间资源配额、重构访问管理框架以适配多集群均为规划中Multi-cluster / Network / OpenPitrix 三个小节仅有标题未列具体条目。v2.1 规划要点大部分工作为 BugFix重构 RBAC以支持未来第三方插件的自定义访问控制重构安装器FluentBit Operator 升级。结语从 Roadmap 到源码的印证路径这份 Roadmap 的价值在于它记录了 KubeSphere 从 2018 到 2020 年的演进方向而当前仓库则给出了规划落地后的实锤IAM[pkg/apiserver/authentication/identityprovider](https://link.gitcode.com/i/24f2b1b415adfed96cb4fba469b9c43f)中的cas/、oidc/、ldap/、aliyunidaas/、github/子目录与工厂注册机制对应多身份提供方 插件化配置多租户[pkg/controller](https://link.gitcode.com/i/8a4271f3ebc5165dce98e2f0c9cb5739)下的group/、workspacerole/、workspacerolebinding/、quota/等控制器对应用户组、角色绑定、资源配额多集群[pkg/controller/cluster/cluster_controller.go](https://link.gitcode.com/i/1004d19d6b46b646ba4097ec1b2ece50)对应主机集群管理成员集群、状态同步、resync 周期配置配置[config/ks-core/values.yaml](https://link.gitcode.com/i/3d4e3779e4cf1d7ac45899d7ba497992)与[kubesphere-config.yaml](https://link.gitcode.com/i/f5b896da64c8336e57fc04fda6315261)对应认证限流、JWT 签发、登录历史保留等运维参数。对于想深入了解 KubeSphere 各功能模块实现细节的读者建议按Roadmap 模块 →pkg/controller/pkg/kapis/pkg/models/pkg/apiserver对应目录的路径自上而下阅读源码再结合config/ks-core/templates/中的 Helm 模板理解部署形态。需要注意的是Roadmap 本身声明计划可能随时间变化且本文档中的部分规划中条目如多租户通知管控、tower 高可用在后续版本中是否落地应以各版本 CHANGELOG见 CHANGELOG 目录与最新发布为准。【免费下载链接】kubesphereThe container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ ☁️项目地址: https://gitcode.com/GitHub_Trending/ku/kubesphere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考