跳到正文
发现
Tanka:Kubernetes 配置管理工具
命令行工具开发者工具

Tanka:Kubernetes 配置管理工具

用 Jsonnet 替代 YAML 的 Kubernetes 配置管理命令行工具,支持复用与差异预览。

admin
发布于 2026-10-28 · 更新于 2026-10-31
浏览
4
访问
0
下载
0
版本
v0.40.1
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

Tanka 是 Grafana 开源的 Kubernetes 集群配置管理工具,被称为 YAML 的「干净、简洁且极其灵活」的替代方案。它使用 Jsonnet 语言 描述集群资源,把配置写成可编程、可复用的代码,而不是大量重复的 YAML 文件。项目由 Go 编写,采用 Apache-2.0 许可证,已被 Grafana Cloud 等生产环境使用。

主要功能

  • 干净:用 Jsonnet 表达应用配置,比 YAML 更直观,避免缩进与重复结构带来的困扰。
  • 可复用:可以把配置封装成库,随时导入,甚至直接在 GitHub 上共享。
  • 简洁:借助 Kubernetes 库与抽象层,不再反复书写样板内容。
  • 可预期:用 tk diff 在应用前查看集群实际会发生什么变化,减少猜测。
  • Helm 支持:可引入(vendor in)、修改并导出 Helm Chart,过程可复现。
  • 生产可用:Grafana Cloud 及众多生产环境使用 Tanka 完成部署。

安装与使用

先按照官方安装页面 https://tanka.dev/install 安装 Tanka,再跟随教程 https://tanka.dev/tutorial/overview 上手。

变更预览的典型用法:

tk diff

注意事项

  • 需要先了解 Jsonnet 语法,官方文档 https://jsonnet.org/ 提供了大量示例。
  • Grafana Labs 维护的 Jsonnet 库 https://github.com/grafana/jsonnet-libs 与 Tanka 兼容,可作为配置参考。
  • 社区支持请走 GitHub Discussions 或 Grafana Slack 的 #tanka 频道,不要单独打扰项目成员或直接开 issue 提问。

本作品整理自 GitHub 开源项目 grafana/tanka,原作者 @grafana,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.40.1当前版本

    主要为依赖与安全更新:将 golang.org/x/net 升级至 v0.62.0,更新文档锁文件中的 undici 与 zod,并更新 CA 信任基础镜像和文档。

  2. v0.40.0

    v0.40.0:prune 支持跳过由 owner 控制的资源以及被显式忽略的资源;修复 Helm OCI 仓库在 repo update 时导致的失败,并更新 gqlparser 依赖。

评论