• tanka 基本试用


    以下是tanka的参考试用

    依赖

    • kubectl
    • diff
    • jb jsonnet bundler
    • helm

    安装tanka

    mac os

    • 命令
    brew install tanka
    brew install jsonnet-bundler

    试用

    • 创建项目
    mkdir prom-grafana && cd prom-grafana
    tk init 

    效果
    需要等待下载


    目录结构

    • 添加资源
      main.jsonnet
     
    {
      // Grafana
      grafana: {
        deployment: {
          apiVersion: 'apps/v1',
          kind: 'Deployment',
          metadata: {
            name: 'grafana',
          },
          spec: {
            selector: {
              matchLabels: {
                name: 'grafana',
              },
            },
            template: {
              metadata: {
                labels: {
                  name: 'grafana',
                },
              },
              spec: {
                containers: [
                  {
                    image: 'grafana/grafana',
                    name: 'grafana',
                    ports: [{
                        containerPort: 3000,
                        name: 'ui',
                    }],
                  },
                ],
              },
            },
          },
        },
        service: {
          apiVersion: 'v1',
          kind: 'Service',
          metadata: {
            labels: {
              name: 'grafana',
            },
            name: 'grafana',
          },
          spec: {
            ports: [{
                name: 'grafana-ui',
                port: 3000,
                targetPort: 3000,
            }],
            selector: {
              name: 'grafana',
            },
            type: 'NodePort',
          },
        },
      },
      // Prometheus
      prometheus: {
        deployment: {
          apiVersion: 'apps/v1',
          kind: 'Deployment',
          metadata: {
            name: 'prometheus',
          },
          spec: {
            minReadySeconds: 10,
            replicas: 1,
            revisionHistoryLimit: 10,
            selector: {
              matchLabels: {
                name: 'prometheus',
              },
            },
            template: {
              metadata: {
                labels: {
                  name: 'prometheus',
                },
              },
              spec: {
                containers: [
                  {
                    image: 'prom/prometheus',
                    imagePullPolicy: 'IfNotPresent',
                    name: 'prometheus',
                    ports: [
                      {
                        containerPort: 9090,
                        name: 'api',
                      },
                    ],
                  },
                ],
              },
            },
          },
        },
        service: {
          apiVersion: 'v1',
          kind: 'Service',
          metadata: {
            labels: {
              name: 'prometheus',
            },
            name: 'prometheus',
          },
          spec: {
            ports: [
              {
                name: 'prometheus-api',
                port: 9090,
                targetPort: 9090,
              },
            ],
            selector: {
              name: 'prometheus',
            },
          },
        },
      },
    }
    • 查看生成的资源
    tk show environments/default

    效果:

    • 配置k8s 部署
      spec.json
     
    {
      "apiVersion": "tanka.dev/v1alpha1",
      "kind": "Environment",
      "metadata": {
        "name": "default"
      },
      "spec": {
        "apiServer": "https://127.0.0.1:6443", // cluster to use
        "namespace": "monitoring" // default namespace for all created resources
      }
    }
    • 部署
    tk apply environments/default

    tk 支持的命令

    • 参考命令
    tanka <3 jsonnet
    Usage:
      tk [command]
    Available Commands:
      apply       apply the configuration to the cluster
      show        jsonnet as yaml
      diff        differences between the configuration and the cluster
      prune       delete resources removed from Jsonnet
      delete      delete the environment from cluster
      env         manipulate environments
      status      display an overview of the environment, including contents and metadata.
      export      write each resources as a YAML file
      fmt         format Jsonnet code
      eval        evaluate the jsonnet to json
      init        Create the directory structure
      tool        handy utilities for working with jsonnet
      complete    install CLI completions

    参考资料

    https://tanka.dev/install

  • 相关阅读:
    c# 测试篇之Linq性能测试
    F# 笔记
    c# DataSource和BindingSource
    .net中配置的保存格式笔记
    泛型约束(转)
    c# 调用showDialog后需要Dispose
    c# 实现ComboBox自动模糊匹配
    c# 二进制或算法实现枚举的HasFlag函数
    C# WinForm自定义控件整理
    微软中文MSDN上的一些文章链接
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13974920.html
Copyright © 2020-2023  润新知