内部平台框架Kratix发布社区市场

Kratix开源框架发布社区Promise市场

Kratix是一个基于Kubernetes的开源框架,用于构建内部平台。该框架由Syntasso创建和维护。最近,Kratix发布了社区提供的Promise市场,允许平台团队和应用团队通过Promise进行组件管理和请求。

Promise的核心概念

在Kratix中,Promise是平台团队为应用团队提供的组件,定义了可用资源及其创建方式。每个Promise由三个主要部分组成:

  1. 自定义资源定义(CRD):列出应用团队请求所需的配置。
  2. 工作集群资源(Worker Cluster Resources):定义创建的工作负载所需的依赖项。
  3. 请求管道(Request Pipeline):包含一系列Docker镜像,代表创建的服务实例与业务配置的结合。

Kratix市场

Kratix市场是一个由Syntasso和社区创建的Promise仓库,涵盖了Knative、Redis、PostgreSQL、Vault、Istio和ArgoCD等多种工具。社区成员可以通过向Kratix文档仓库提交拉取请求来贡献Promise,所有提交将由Kratix团队审核和测试。

Promise示例

例如,ArgoCD Promise会安装ArgoCD服务器,并为每个资源请求创建一个新的ArgoCD应用。资源请求允许配置仓库URL、同步的源路径以及目标版本。

Promise规范

Promise规范是一个基于YAML的文档,主要组件位于spec头中:

apiVersion: platform.kratix.io/v1alpha1
kind: Promise
metadata:
  name: jenkins-promise
spec:
  workerClusterResources:
  xaasRequestPipeline:
  xaasCrd:

用户配置请求

Kratix支持从用户处请求配置数据。例如,在创建PostgreSQL实例时,可以添加一个标签以指示costCenter,用于内部成本分配。这通过在xaasCrd键中添加适当的YAML来实现:

costCentre:
  pattern: "^[a-zA-Z0-9_.-]*$"
  type: string

资源请求流程

当用户需要特定实例时,他们提交一个引用所需Promise的资源请求。Kratix将启动Promise中定义的请求管道,将资源请求作为输入。管道将输出Kubernetes文档,结合用户的请求和Promise中的定义配置,工作集群将使用这些数据创建请求的实例。

开源许可

Kratix采用Apache License 2.0开源许可。更多关于Kratix市场发布的信息可以在Syntasso博客上找到。

阅读 23
0 条评论