zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    怎样判断数组类型
    VS2017不能生成Database Unit Test项目
    Windows Server 远程桌面报错:No Remote Desktop License Servers Available
    TFS2018 获取所有Build变量及变量值
    C# 读写bat文件
    【PowerShell 学习系列】-- 删除Win10自带应用
    Win10
    【TFS】TFS2015链接TFS出现TF31002/TF400324问题解决方案
    【SQL Server 学习系列】-- 获取字符串中出现某字符的次数及字符某次出现的下标
    【.Net 学习系列】-- 利用Aspose转换Excel为PDF文件
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13974920.html
Copyright © 2011-2022 走看看