在进入千禧年后,跟着计算机技能的开展和事务立异的不断涌现,许多大公司内的 IT 计算中心也在酝酿着革新。一方面,各部门相对独立的 IT 办理渠道现已难以满意日益添加和不断改动的计算办理需求;另一方面,IT 计算中心也越来越多的成为事务立异的发源地,从一个成本中心向营收来源开展。相应的,一种环绕着资源和负载办理渠道的技能领域逐步称为学术界和产业界的热点。它在不同的开展阶段和不同的运用场景有着不同的名字,从最早的集群(Cluster),网格(Grid),到后来的数据中心操作系统(DCOS),云计算(Cloud Computing)。一起,在资源办理和负载办理这两大方面也不断的拓宽着本身的鸿沟。

CNStack 2.0:云原生的技术中台

现在,以 Kubernetes 为中心代表的云原生技能逐步称为这一领域的干流。它所带来的不可变基础设施,以资源为办理目标,描绘性的 API,终究共同性等等理念,不只改动了渠道运用者的习气,可以更好的在资源弹性改动的环境中坚持事务拜访的连续性;更改动了服务和运用研制人员的思维办法,逐步以这种云原生的办法来规划和开发,提高立异功率。

阿里云有“公共云”、“专有云”两种产品形态,运用同样依据飞天操作系统的技能道路,为用户供给从服务器开始一整套资源和负载的办理才能,以及运转在上面的各种服务。与此一起,也有许多客户由于种种原因无法完全运用公有云服务,也无法收购和布置一整套大专。在依据云原生的产品领域中,这些客户或许触摸了 Kubernetes 等开源项目,或许试用过红帽,Rancher 等厂商供给的 Openshift,Rancher 等渠道产品,乃至体会了环绕这些产品构成的整个产品家族生态,如 IBM Cloud Pak 等。他们惊喜与这些云原生技能带来的灵敏,敞开,耐性等特色。一起,也期望在此基础上获得支撑不同事务场景的丰厚服务,以便快速提高立异才能。

应对这种需求,云原生 PaaS 团队经过长时间的技能和经历堆集,历时近半年的研制,创立了 CNStack 2.0 云原生技能中台产品。在接下来的内容里,将同享在 CNStack 2.0产品,架构,研制中首要的规划思维和心得体会。

产品方针

阿里云运用云原生技能在资源和负载办理这一领域的探究现已有一段历史了。在长时间与解决方案团队,产品团队,外部客户的沟通协作中,发现运用者对云原生技能带来的以下特色最为重视。

灵敏

灵敏并不简略的等同于轻量,它更多的代表灵敏性和因此而带来的功率的提高。

用户期望渠道和服务可以跟着不同的运用场景和规划,供给不同的布置装备选项。既可以办理三五台服务器,供给一两种服务或许公共负载类型,也可以办理百台服务器,满意几个事务团队的不同诉求,乃至办理数千上万台服务器,跨越多个地域,支撑不同职业线的杂乱服务。

针对这些场景和规划的差异,用户需求的仅仅做好资源规划,在布置渠道和服务时,挑选不同的装备选项。不管场景和规划的差异,渠道都会供给共同的运用体会。一起,所需的办理资源开支最好可以跟着规划的增大和功用的添加,对数或许线性等级的添加。此外,用户也可以很便利的获取产品,不需求杂乱的硬件资源就可以布置和试用,例如公有云申请的服务器上,乃至是自己的笔记本电脑上。

灵敏还体现在产品功用的组合和晋级,可以依据需求,添加和削减功用和服务,以呼应不断改动的立异诉求。

敞开

用户期望能保护已有的技能出资,也期望能便利,快速的弥补开源社区或许其他厂商的技能立异。这就需求产品具有敞开的特色。这儿的敞开首要是指选用具有开源社区生命力的技能结构和标准的协议标准,产品本身也具有丰厚的扩展机制。

一个敞开的产品,可以让用户

  • 便利的获取技能资料和试用环境,下降学习门槛
  • 经过标准的协议标准和扩展机制,集成其他厂商的产品或许被其他厂商产品集成,保护技能出资
  • 支撑更多的基础设施类型和作业负载类型
  • 与开源社区一同不断开展,坚持技能先进性

生态

技能中台作为事务立异的中心,需求支撑多种事务类型,涵盖事务立异的生命周期。从微服务结构,中间件,到 AI,数据处理;从研制规划,制品办理,到运用发布,容灾高可用;从本地数据中心,到边际,公有云。

为了支撑如此丰厚的才能,需求环绕技能中台构建产品生态,创立云服务,云组件的标准标准和支撑标准标准的东西链。

  • 云服务:经过服务的办法在渠道供给才能扩展,可以运用渠道供给的用户,租户,鉴权,审计,答应证,多集群布置,UI 结构等基础才能,与渠道既有才能或其他服务无缝的协作。和整个渠道的运维相同,云服务的生命周期办理由办理员担任。
  • 云组件:经过布置声明的办法为渠道用户供给软件的布置和运维,所布置的软件可以和用户自研软件一同编列完结事务流程。和用户自研软件相同,云组件的生命周期办理由详细的运用者担任。

CNStack 2.0:云原生的技术中台

上述是 CNStack 2.0 当时所支撑的云服务一览。这些云服务与渠道本身的发布完全解耦,阿里云研制团队或许协作同伴可以便利的针对事务场景扩展技能中台才能,独立发布云服务。需求要点强调的是,CNStack 渠道本身也是以云服务办法开发,运维,办理的。

CNStack 2.0 为云服务和云组件的集成,测验和发布供给了一整套标准的东西链,它便是**阿里如此原生运用交给渠道(Application Delivery Platform,简称 ADP) [ 1] **。CNStack 2.0 本身也是运用 ADP 开发和发布的。

CNStack 2.0:云原生的技术中台

在 ADP 渠道上,开发者可以将构成云服务的组件以 helm charts 的办法上传。渠道依据研制标准扫描查看后,以自有组件的办法进行版别办理。此后,开发者可以把这些自有组件和 ADP 渠道上供给的公共研制中间件,如数据库,消息,微服务结构等一同编列为云服务,并在指定的公有云环境创立验证环境,布置 CNStack 2.0(也被称为底座)一同完结功用测验和一系列验证,如高可用等,终究打包为云服务(或许云组件)。云服务(云组件)的发布包标准遵循云原生 PaaS 团队贡献给社区的CNCF Sealer开源项目。交给时,在用户环境布置的 CNStack 2.0 渠道上,办理员将云服务(云组件)发布包导入才能中心。在才能中心,办理员可以完结云服务的布置,晋级,变配等一系列生命周期办理。

CNStack 2.0:云原生的技术中台

安全合规

跟着隐私和财物保护重要性的日益提高,安全合规越来越成为事务立异中必需求解决的问题。作为在企业环境布置的产品,CNStack 2.0 需求满意严格的安全和合规标准。包含但不限于以下方面:

  • 操控办理服务在网络的暴出面,尽量收敛为一个端口,支撑契合安全标准的网络阻隔规划
  • 供给用户办理才能或与现有的用户办理系统的集成
  • 供给多租户的阻隔才能和灵敏的权限办理
  • 供给与域名相关的证书,密钥办理或与现有的证书,密钥办理系统集成
  • 保证加密的网络传输和敏感数据的加密存储
  • 供给审计才能,支撑合规查看
  • 为在渠道运转的服务和运用供给静态和动态的安全合规扫描

架构规划

为了满意上述产品方针,研制团队拟定了以下规划准则​

面向 API 开发

与面向 API 开发相对应的是面向 UI 开发。之前,关于产品功用的完结办法经常会听到相似“白屏”,“黑屏”的称谓。白屏便是在 UI 完结功用操作,而黑屏指经过命令行完结功用操作。由于功用逻辑通常在 UI 组件完结,就造成了经过命令行完结的功用,缺乏完整才能或许安全合规的要求,所以“黑屏”通常被认为是 hack 的完结。相似这种面向 UI 开发的办法还有许多坏处,无法满意前文说到的产品方针。

  • 产品规划以 UI 驱动,UI 的调整对功用完结影响大
  • 难以被其他产品或东西链集成,局限于页面嵌套,难以支撑敞开性要求
  • 难以树立云服务,云组件的标准,供给便利的渠道才能集成接入
  • 功用的完结逻辑涣散,调用链长,难以保护,排查错误
  • 认证,鉴权,审计等公共才能无法集中操控,难以保障安全合规

与此相反,在面向 API 开发的架构中,UI 仅仅 API 才能的一种展示办法,UI 模块的前端或许直接调用办理服务 API,或许由 UI 的后端服务封装一个或多个办理服务 API。可是 UI 的后端服务本身并不完结任何运转期目标的办理才能,仅仅一个或多个 API 调用流程的封装,以及输入和输出数据的整理。

在面向 API 开发的架构中,还有一项重要的规划准则便是:“没有躲藏的内部 API”(No Hidden Internal API)。这就要求办理服务组件之间的调用接口,也是用户对服务拜访的调用接口。只要保证 API 的共同性,服务的组件可以容易的替换,保证产品具有灵敏,敞开的才能。此外,它还消除了安全隐患,对一切 API 的调用运用共同的认证,鉴权,审计等安全合规才能。

一切办理目标都是资源

以 RESTful API 为代表,环绕资源进行办理的编程模型不只带来了运用体会的提高,也改动了办理组件的完结办法。它将办理目标都作为资源,经过创立和改动资源的声明来完结办理功用,查询资源的状况来了解办理成果。Kubernetes 更是为这种编程模型供给了最佳实践,带来了详细的完结办法。

在 CNStack 2.0 的架构规划中,选用“一切办理目标都是资源”的编程模型,具有以下技能特色和优势:

  • 声明式的 API 让调用者无需继续重视和处理办理动作发出后的履行阶段,办理服务需求保证办理目标的状况和资源声明终究坚持共同
  • 声明式的 API 让调用者无需继续重视和处理办理动作发出后的履行阶段,办理服务需求保证办理目标的状况和资源声明终究坚持共同
  • 创立和改动办理目标的 API 都是异步的,API 的履行者只需求保证耐久化资源的最新声明后就可以让 API 返回,简化 API 的处理,提高呼应率
  • 由于一切都是资源,所以 API 履行者的处理可以共同化,便利完结共同的认证,鉴权,审计,筛选,分页等才能,也易于扩展,满意高可用和耐性的要求
  • 由于一切都是资源,所以 API 客户端的处理也可以共同化,不管在 UI 仍是 CLI 上都是创立和改动办理目标的资源声明,展示办理目标的资源状况。
  • 处理资源状况和声明共同性(reconcile)的操控器可以独立完结,与 API 的履行者解耦,便于晋级,扩展和办理。一起,它的故障不会影响 API 本身的处理,具有可扩展,高可用,耐性,灵敏,敞开的特色。

将 Kubernetes 作为编程结构

Kubernetes 为“一切办理目标都是资源”的编程模型供给了最佳实践,带来了详细的完结办法。Kubernetes 的 operator 办法,自界说资源(Customized Resource Definition)等才能让开发者可以便利,快捷的扩展功用,由此看来,Kubernetes 不只仅是一个办理容器化作业负载和服务的编列渠道,更是一个可扩展的编程结构。

在 CNStack 2.0 的架构规划中,Kubernetes 作为编程结构的价值还体现在更多的方面

  • 租户办理

在同享基础设施的环境下,办理目标的拜访阻隔是一个重要的才能。Kubernetes 供给了“命名空间”的概念,用户资源与命名空间相关,完结拜访阻隔和配额,战略等办理操控。可是,Kubernetes 中的命名空间并不支撑层级关系,依据**Hierarchical Namespace Controller (HNC) [ 2] **开源项目,CNStack 2.0 将 Kubernetes 的命名空间扩展至多级。CNStack 2.0 的办理目标大都以 Kubernetes 的资源办法办理,利用层级化的命名空间完结租户办理。

  • 权限办理

Kubernetes 供给了依据人物的拜访操控(RBAC)。其间,人物界说了对 API group,资源和操作的答应规模。人物可以经过聚合办法灵敏的组合。经过将人物和用户,用户组,服务账号以及租户相关,可以操控用户和服务对资源的拜访操控。关于不以 K8s 资源办理的目标,相同可以经过在人物中映射办理目标API的相关信息,界说拜访战略,乃至关于无法以资源办理的履行命令,RBAC 也支撑 nonresourceurls 的办法。CNStack 2.0 以 Kubernetes 作为权限操控引擎,将各种办理目标的权限点(permission)界说为 Kubernetes 的人物,经过 Kubernetes 人物的聚合完结灵敏的自界说拜访战略,终究调用 SubjectAccessReview API 获取战略履行成果,判定指定用户或服务对 API 的拜访答应。

  • API 办理

在“面向 API 开发”的规划准则下,API 是 CNStack 2.0 的中心。Kubernetes 供给了 API 的扩展才能,依据自界说资源(Customized Resource Definition)和整套研制结构。开发者只需求专心于自界说资源的运转期办理逻辑,经过 Kubernnetes API 获取自界说资源的声明和当时状况,处理资源声明和当时状况的差异,让它们终究达成共同。一起,将 API 目标声明的处理,耐久化等作业完全交给 Kubernetes 组件。这样不只极大的提高了研制功率,也让整个架构具有灵敏,敞开,可扩展,耐性的特色。

不管是以 Kubernetes 自界说资源办法完结的 API,仍是以其他办法完结的 API,CNStack 2.0 依据 CNCF 的**Emissary-Ingress [ 3] **项目,创立了办理 API 网关,完结了管控 API 共同的路由,认证,鉴权,审计等才能。管控API网关收敛一切管控 API 对外暴露的拜访点为一个端口,答应办理服务,或许云服务(云组件)开发人员以 Kubernetes 自界说资源声明的办法描绘API的路由,认证,鉴权和审计要求。这种办法大幅下降产品的被攻击面,也下降了办理服务,云服务(云组件)的研制负担。

  • 证书办理

X.509 证书被运用于数字安全的方方面面,例如 HTTPS 安全通讯。和域名相同,证书有标准的公布机制,例如适用于 PoC 或私有规模运用的自颁发;抑或是依据用户从认证的公布机构获取的根证书(BYOK:Bring You Own Key),乃至是用户有自己的证书办理渠道,如 Vault。Kubernetes 有内置的证书资源,可以依据本身的根证书依据用户恳求创立证书。CNCF 的cert-manager [ 4] 项目,以 Kubernetes 自界说资源的办法,供给了更全面的证书办理才能,支撑上述多种场景。CNStack 2.0 依据 cert-manager,树立了证书办理服务。创立的证书可以主动的运用与办理服务和用户自建服务的安全通讯。

  • 灾备恢复办理

由于“一切办理目标都是资源”,所以办理目标的耐久化都以资源的办法存储在Kubernetes 中。依据开源项目**Velero [ 5] **,CNStack 2.0 树立了备份恢复服务,答应办理人员以 Kubernetes 自界说资源声明的办法说明备份战略,如周期,资源类型,规模,备份源等,以及恢复战略。

  • 多集群办理

CNStack 2.0 天生就需求支撑多集群,以满意用户对不同场景的诉求,例如资源和负载的物理阻隔,多地域布置,容灾多活等。依据 Kubernetes,云原生 PaaS 团队和红帽等技能同伴开源了CNCF **Open Cluster Management(OCM) [ 6] **项目。依据 OCM,CNStack 2.0 树立了多集群的创立,纳管等生命周期办理服务,作为“多集群服务”这一云服务。它答运用户以 Kubernetes 自界说资源声明的办法描绘需求创立或许纳管的集群。在“多集群服务”的帮助下,云服务(云组件)也支撑多集群下的布置和办理,区别办理面和数据面组件,并声明布置的集群挑选条件。一起,对租户的资源操控,配额,办理战略等也扩展至多集群。

安全无处不在

安全合规是产品需求的一个重要方面,它体现在架构规划的方方面面。

  • 管控 API 共同收敛到办理 API 网关,最小化攻击面,一切的 API 拜访都需求完结认证,鉴权,审计,没有后台 API
  • 管控 API 共同收敛到办理 API 网关,最小化攻击面,一切的 API 拜访都需求完结认证,鉴权,审计,没有后台 API
  • 服务依据拜访需求设置具有最小化拜访权限的人物
  • 一切的网络通讯都是加密的,安全通讯证书共同办理,完结主动的更替
  • 一切的敏感数据都以 secret 办法加密保存
  • 一切办理和输出组件都需求经过 ADP 组件上架标准流程,完结镜像和运转期扫描查看
  • 节点和集群的纳管以零信任为前提,完结办理和被办理目标的双向认证

CNStack 2.0 架构

CNStack 2.0 环绕 Kubernetes 为编程结构,它的管控组件大都以 Kubernetes 操控器的办法完结,以 Kuberentes API 扩展作为管控 API。其间,首要的组件如下

  • ACK Distro

ACK Distro是云原生 PaaS 团队和公有云 ACK 团队一同发布的阿里云 Kubernetes 发行版。它以Sealer为发布和布置东西,支撑在许多异构环境中布置和运维 Kubernetes 集群。其间 Kubernetes 中心组件和公有云 ACK 上的 Kubernetes 中心组件共同,经历了严格的安全查看和调优。所包含的网络(**Hybridnet [ 7] **),存储(**Open-Local [ 8] **)组件也是云原生 PaaS 团队和其他阿里云,蚂蚁基础设施团队共同研制的开源项目,经历了内部长时间的验证。ACK Distro 构成了 CNStack 2.0 的 Kubernetes 基础。

  • cn-app-operator

cn-app-operator 是云服务,云组件生命周期的办理者。在内部,它依据 OAM 的规划思维,支撑 helm 作为 Kubernetes 资源的渲染引擎,环绕云服务和云组件的发布包,实例,自运维战略,告警办理创立了一系列 Kubernetes 自界说资源完结办理才能。它也是后续云原生 PaaS 团队计划开源的一个项目。

  • Account Mgr

Account Mgr 完结用户的账号办理或许对接支撑标准协议,如 LDAP,AD 等的用户办理系统集成。它也担任用户和云服务的认证,创立拜访凭证。Accout Mgr 包含开源项目**KeyCloak [ 9] **完结用户的账号办理。

  • UI Backend

UI Backend 是 UI 拜访的后台服务,它仅仅 Kubernetes API 或许其他办理服务 API 的封装。在内部拜访其他办理服务API时相同经过 Management Gateway 调用。

  • 审计/日志/监控/告警

审计/日志/监控/告警组件对渠道办理组件,云服务/云组件,基础设施供给审计,日志,监控,告警服务。它依据 **Loki [ 10] **和**Victoria Metrics [ 11] **,**Grafana [ 12] **完结日志和监控指标的采集,存储,查询和展示。其间,审计信息来自 Management Gateway 上对 API 的剖析处理。

  • 办理组件

CNStack 2.0 的许多办理组件都是以 Kubernetes Controller 的办法完结,经过 Kubernetes 自界说资源的办法供给 API。

  • Management Gateway

Management Gateway 是 CNStack 2.0 的一个中心组件,它担任一切管控 API 的路由,认证,鉴权,审计,加密传输等才能。Management Gateway 依据**Emissary-Ingress [ 13] **,并在之上完结了认证,鉴权等一系列 filter 插件。

  • Ingress

Ingress 在 CNStack 2.0 中担任处理数据阅读,例如日志,监控指标在多集群间的搜集。也担任云服务在管控集群布置的办理面组件和在被办理集群上布置的数据面组件之间的数据传输。

CNStack 2.0 的网络通讯规划以暴出面最小化为准则,一切管控 API 收敛在 Management Gateway,数据拜访收敛在 Ingress。在多集群环境下,对被办理集群的拜访经过云原生 PaaS 团队开源的Cluster Gateway [ 14] 项目完结,具有路由通明,权限共同,通讯安全的才能。管控集群对被办理集群 ingress 的拜访,以及被办理集群对管控集群 Management Gateway 和 Ingress 的拜访都经过 Kuberetes Headless Service 完结路由,屏蔽网络联通的杂乱性。

CNStack 2.0 还包含许多的云服务,例如供给微服务运用发布,监控,运维,高可用等才能的运用办理服务;供给同享存储服务的 VCNS-OSS;供给虚拟机类型作业负载办理的虚拟化服务;供给边际场景资源,设备和作业负载办理的云边协同服务;供给云原生服务网格才能的服务网格服务,等等。它们的才能和架构规划会在后续专文介绍。03

研制提效

CNStack 2.0 是一个包含多个云服务的产品调集。一个有用的研制流程以及相关的集成,测验东西链很大程度上影响着产品的研制功率和质量,并终究左右产品在市场上的口碑和体现。不存在一个完美的研制流程和相关东西,而是依据人员,环境和产品需求不断演进和迭代的。在 CNStack 2.0 的开发过程中,研制团队收成了以下经历。

论每日构建的重要性

每日构建是指在每天晚上或许早上的时候,将产品的各个组件编列为完整产品,在模拟环境完结布置和验证,并创立可发布的版别。是否能完结每日构建是产品研制功率和质量的一个比较好的衡量标准,从必定程度上也说明了产品布置的灵敏和易用性。每日构建在研制过程中具有很重要的价值,包含

  • 及时获取最新的安稳产品发布包,为相关云服务的集成,测验创立作业基础
  • 及时发现组件集成或许服务集成的问题,这些在组件或许服务本身的开发过程中是难以发现的
  • 模拟产品交给的实践场景,让演练成为日常作业

CNStack 2.0:云原生的技术中台

上图是 CNStack 2.0 云服务每日构建的概念流程,其间组件的研制人员在日常开发中将镜像和布置装备,例如 helm charts 等,提交到 git repo 或许内部镜像库房。当每日构建触发时,树立镜像和布置装备的快照,编列为产品并主动布置和测验,测验经过后完结产品发布。

CNStack 2.0:云原生的技术中台

ADP 渠道供给了产品编列,验证环境创立,产品布置等才能。如上图所示,云原生 PaaS 团队依据 ADP 和 Chorus 构建了从开发,集成到测验,发布一整套流水线机制。

  1. 每日构建触发时,Chorus Job 记录当时装备库房的 commit-id,并将组件上传至 ADP 渠道,更新 latest 标识的产品版别,完结产品集成。
  2. 此后,调用 ADP API 在公有云创立测验环境,并布置产品。经过产品内置的测验 Job 完结主动化测验,并搜集测验报告,发送到指定的 IM 渠道(如钉钉,邮件群等)完结产品测验。
  3. 产品发布担任人依据测验报告,判定本次构建是否满意发布要求。假如满意,在 ADP 渠道依据 Semantic Version 标准,完结产品发布。在日常可以以日期作为发布版别的 Patch Version,在产品预发布阶段可以以 RC 作为 Patch Version。
  • 每日构建触发时,Chorus Job 记录当时装备库房的 commit-id,并将组件上传至 ADP 渠道,更新 latest 标识的产品版别,完结产品集成。

吃自己的狗粮

阿里云 ADP 渠道作为 CNStack 2.0 的一部分,不只担任云服务/云组件的编列和发布,一起也担任云服务/云组件的集成和测验。CNStack 2.0 基础渠道本身也是由 ADP 完结编列,发布和集成,测验的。另一方面,ADP 也依据 CNStack 2.0 基础渠道为云服务/云组件创立测验环境,组装发布包。在服务第三方云服务/云组件研制团队的一起,也在服务本身,吃自己的狗粮。

“吃自己的狗粮”让 CNStack 2.0 产研团队可以和运用者感同身受,切身体会到产品在易用性和功用上的差距。在产品研制的过程中,许多需求和问题的发现都来自产研团队本身。

为自己的研制功率担任

研制提效关系到每个研制,测验工程师本身的作业幸福感。以云原生技能驱动的 CNStack 2.0 和相关的东西链供给了丰厚的 API 和可扩展才能。云原生社区也有一系列可供集成运用的开源项目。在云原生技能盛行的时代,工程师需求坚持不断学习的精神,挖掘和创立可以提高本身作业功率的办法和东西,为自己的研制功率担任。

相关资料

CNStack 产品官网

www.aliyun.com/activity/mi…

CNStack 社区版(免费下载运用)

github.com/alibaba/CNS…

ADP 产品官网

help.aliyun.com/product/191…

ACK Distro

https://github.com/AliyunContainerService/ackdistro

CNCFSealer 项目

github.com/sealerio/se…

CNCF OCM 项目

open-cluster-management.io/

相关链接

[1]阿里如此原生运用交给渠道(Application Delivery Platform,简称 ADP)www.aliyun.com/product/ali…

[2]Hierarchical Namespace Controller (HNC)

github.com/kubernetes-…

[3]Emissary-Ingress

www.cncf.io/projects/em…

[4]cert-manager

www.cncf.io/projects/ce…

[5]Velero

velero.io/

[6]Open Cluster Management(OCM)

open-cluster-management.io/

[7]Hybridnet

github.com/alibaba/hyb…

[8]Open-Local

github.com/alibaba/ope…

[9]KeyCloak

github.com/keycloak/ke…

[10] Loki

github.com/grafana/lok…

[11]Victoria Metrics

github.com/VictoriaMet…

[12]Grafana

github.com/grafana/gra…

[13]Emissary-Ingress

www.cncf.io/projects/em…

[14]Cluster Gateway

github.com/oam-dev/clu…

点击此处,查看 CNStack 产品官网详情