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

  • 相关阅读:
    Nmap帮助文档解释
    用servlet设置过滤器处理中文乱码
    Linux服务器远程连接window服务器并执行cmd命令
    java中的异常处理
    java的反射机制
    react入门
    多线程编程
    软件工程基本概念
    反射、类加载与垃圾回收
    数据库
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13974920.html
Copyright © 2011-2022 走看看