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

  • 相关阅读:
    首页列表显示全部问答,完成问答详情页布局。
    制作首页的显示列表。
    管理信息系统 课程设计
    期末作品检查
    数据迁移
    模型分离(选做)
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13974920.html
Copyright © 2011-2022 走看看