e8520ffc36c66a732adf21f32909e0ce.png

Grafana Tanka是Kubernetes集群的配置工具,由Jsonnet数据模板语言实现。是一款Helm的替代品。

使用它比使用Yaml来定义Kubernetes资源更简洁。Jsonnet高度可重用,使你能通过组合现成的库来实现你的技术栈。

与同领域的工具相比,你有最终YAML结构的最终控制权。

亮点介绍:

•干净:使用Jsonet语言表示你的K8s应用,比YAML更简洁。•重用:可构建库,以方便在任何地方使用,甚至分享到Github。•简洁:使用K8s库,不再需要模板。•带来信心的:可以轻松地知道确切的变化。•生产环境Ready:Grafana cloud使用Tanka进行部署。•开源:像Grafana一样完全开源。

对比Yaml的方式与Tanka的方式

Yaml

# Grafana server DeploymentapiVersion: apps/v1kind: Deploymentmetadata:  name: grafanaspec:  selector:    matchLabels:      name: grafana  template:    metadata:      labels:        name: grafana    spec:      containers:        - image: grafana/grafana          name: grafana          ports:            - containerPort: 3000              name: ui

Tanka的方式

local k = import "k.libsonnet";{    grafana: k.apps.v1.deployment.new(        name="grafana",        replicas=1,        containers=[k.core.v1.container.new(            name="grafana",            image="grafana/grafana",        )]    )}

官方文档:https://tanka.dev/

源码地址:https://github.com/grafana/tanka

了解:Jsonnet: 一种数据模板语言

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐