diff --git a/blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md b/blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md index ab8d7a77..b70d61e3 100644 --- a/blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md +++ b/blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md @@ -142,6 +142,7 @@ Representative technologies for general-purpose languages and CDKs include: Some tools primarily employ structured KV for configuration management but also provide additional extensions to handle complex scenarios, eliminating the need for extensive YAML templating. For instance, some cloud-native tools offer function extensions that can be implemented in general-purpose languages such as Go, TypeScript, or DSLs like KCL. +- [YTT](https://github.com/carvel-dev/ytt) - YTT is a templating tool that understands YAML structure. It helps you easily configure complex software via reusable templates and user provided values using the Starlark language. - [KPT](https://kpt.dev/) - KPT and KPT Functions are used to decouple data and logic definitions, using a Git repository as the source of truth for configurations while managing Kubernetes configurations declaratively without losing extensibility. - [Kustomize](https://kustomize.io/) - Similar to KPT, Kustomize and Kustomize Functions can also decouple data and logic definitions. - [Crossplane](https://www.crossplane.io/) - Crossplane and Crossplane Composite Functions are used to decouple XR and Composite resource definitions. XRs allow developers to create higher-level abstractions that can encapsulate and compose multiple types of cloud resources across different providers and services. Using Crossplane Composite Functions to render these abstractions can effectively enhance template capabilities for various provider resources while reducing the amount of YAML code needed. @@ -201,6 +202,7 @@ Do you know of other ways? Feel free to add. ❤️ - Dhall: [https://github.com/dhall-lang/dhall-lang](https://github.com/dhall-lang/dhall-lang) - Thrift: [https://github.com/Thriftpy/thriftpy2](https://github.com/Thriftpy/thriftpy2) - Kustomize: [https://kustomize.io/](https://kustomize.io/) +- YTT: [https://github.com/carvel-dev/ytt](https://github.com/carvel-dev/ytt) - KPT: [https://kpt.dev/](https://kpt.dev/) - Kube-linter: [https://github.com/stackrox/kube-linter](https://github.com/stackrox/kube-linter) - Checkov: [https://github.com/bridgecrewio/checkov](https://github.com/bridgecrewio/checkov) diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md index e196f2b0..22cec8ff 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md +++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-12-25-ten-ways-for-kubernetes-config-management/index.md @@ -136,6 +136,7 @@ Configuration as Code (CaC), 使用代码产生配置,就像工程师们只需 有些工具虽然常用方式是定义结构化 KV 来实现配置管理,但是仍然提供了额外的扩展方式来应对复杂的场景,消除更多 YAML 模版。比如一些云原生工具提供了函数扩展方式,这些函数可以使用 Go, Typescript 等通用语言或者 KCL 等 DSL 来实现。 +- [YTT](https://github.com/carvel-dev/ytt) - YTT 是一个理解 YAML 结构的模板工具,它通过使用 Starlark 语言帮助您通过可重复使用的模板和用户提供的值轻松配置复杂的软件。 - [KPT](https://kpt.dev/):使用 KPT 和 KPT Function 可以解耦数据和逻辑定义,以 Git 仓库作为配置源的真实来源,通过声明式方式管理 Kubernetes 配置的同时不失扩展性。 - [Kustomize](https://kustomize.io/):类似 KPT,使用 Kustomize 和 Kustomize Function 也可以解耦数据和逻辑定义。 - [Crossplane](https://www.crossplane.io/):使用 Crossplane 和 Crossplane Composite Function 解耦 XR 和 Composite 资源定义。XR 复合资源允许开发人员创建更高级别的抽象,这些抽象可以封装和组合多个不同类型的云资源(可能跨越不同的云提供商和服务)。使用 Crossplane Composite Function 渲染这些抽象能够很好为不同的供应商资源提供循环或者条件等功能提升模版能力的同时地减少 YAML 代码编写量。 @@ -197,6 +198,7 @@ GitOps 工具提供了一种以 Git 为核心的持续部署方法。而 Operato - CEL: [https://kubernetes.io/docs/reference/using-api/cel/](https://kubernetes.io/docs/reference/using-api/cel/) - Thrift: [https://github.com/Thriftpy/thriftpy2](https://github.com/Thriftpy/thriftpy2) - Kustomize: [https://kustomize.io/](https://kustomize.io/) +- YTT: [https://github.com/carvel-dev/ytt](https://github.com/carvel-dev/ytt) - KPT: [https://kpt.dev/](https://kpt.dev/) - Kube-linter: [https://github.com/stackrox/kube-linter](https://github.com/stackrox/kube-linter) - Checkov: [https://github.com/bridgecrewio/checkov](https://github.com/bridgecrewio/checkov)