zoukankan      html  css  js  c++  java
  • helm repository 相关

    chart repo是一个可用来存储index.yaml与打包的chart文件的HTTP server。当要分享chart时,需要上传chart文件到chart仓库,任何一个能够提供yaml与tar文件的HTTP server都可以当作chart仓库,比如自己的web服务器。官方的chart仓库由kubernetes Charts维护,helm允许我们创建私有的chart仓库。

    一个chart仓库由一个chart包与index.yaml文件组成,index.yaml记录了chart仓库中全部chart的索引,一个本地chart仓库的布局例子如下:

    apiVersion: v1
    entries:
      test-chart:
      - apiVersion: v1
        appVersion: "1.0"
        created: "2019-07-29T15:15:25.7848643+08:00"
        description: A Helm chart for Kubernetes
        digest: 5e3215c970b7e9ca58522104bce7fe107a891cca3363af174fda7c7d69ae042a
        name: test-chart
        urls:
        - http://127.0.0.1:8879/test-chart-0.1.0.tgz
        version: 0.1.0
      test-chart2:
      - apiVersion: v1
        appVersion: "1.0"
        created: "2019-07-29T15:19:25.9210099+08:00"
        description: A Helm chart for Kubernetes
        digest: sha256:e33bab5a2be0738e2fbe9800348d2d250d63938d223c9e3d29a8e5b12f23f4a3
        name: test-chart2
        urls:
        - http://127.0.0.1:8879/charts/test-chart2-0.1.0.tgz
        version: 0.1.0
    generated: "2019-07-29T15:15:25.7827829+08:00"

    ~.helm epositorylocalindex.yaml文件中记录了chart的各种信息,例如:名称、版本、url等。

    1. 创建一个helm

    $ helm create test-chart
    Creating test-chart

    2. 目录结构如下

    ├─test-chart
    ├── charts
    ├── Chart.yaml
    ├── templates
    │   ├── deployment.yaml
    │   ├── _helpers.tpl
    │   ├── NOTES.txt
    │   └── service.yaml
    └── values.yaml

    3. 编辑values文件

    replicaCount: 1
    
    image:
      repository: daemonza/test
      tag: latest
      pullPolicy: IfNotPresent
    
    
    service:
      name: test
      type: ClusterIP
      internalport: 80
      externalPort: 80
    
    resources:
      limits:
        cpu: 100m
        memory: 128Mi
      requests:
        cpu: 100m
        memory: 128Mi

    3. 到test-chart目录下,对Chart进行校验

    $ helm lint
    ==> Linting .
    [INFO] Chart.yaml: icon is recommended
    [ERROR] templates/: render error in "test-chart/templates/NOTES.txt": template: test-chart/templates/NOTES.txt:2:14: executing "test-chart/templates/NOTES.txt" at <.Values.ingress.enabled>: nil pointer evaluating interface {}.enabled
    
    Error: 1 chart(s) linted, 1 chart(s) failed

    根据提示进行修改,直到校验成功,会出现如下输出

    $ helm lint
    ==> Linting .
    [INFO] Chart.yaml: icon is recommended
    
    1 chart(s) linted, no failures

    4. 退出test-chart目录,对Chart进行打包

    (根据输出可以看到Chart被打包成了一个压缩包:test-chart-0.1.0.tgz,同时被save到了helm的本地仓储中)

    $ helm package test-chart --debug
    Successfully packaged chart and saved it to: D:zhuojian-projects
    ubik-Thealth-doc详细设计helm	est-chart-0.1.0.tgz
    [debug] Successfully saved D:zhuojian-projects
    ubik-Thealth-doc详细设计helm	est-chart-0.1.0.tgz to C:UsersYFZX-MY-1715.helm
    epositorylocal

    5. 此时,repository目录中的Chart已经被helm进行管理,使用命令可以找到生成的Chart包

    $ helm search test
    NAME                    CHART VERSION   APP VERSION     DESCRIPTION
    local/test-chart        0.1.0           1.0             A Helm chart for Kubernetes

    6. 本地启动一个repository server

    如果使用helm search test发现找不到生成的Chart包,可以在本地启动一个repository server,并将其加入到helm repo列表中

    $ helm serve&
    Now serving you on 127.0.0.1:8879

    将本地仓储加入到helm repo列表中

    $ helm repo add local http://127.0.0.1:8879
    "local" has been added to your repositories

    查看仓储列表

    $ helm repo list
    NAME            URL
    stable          https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts/
    local           http://127.0.0.1:8879
    incubator       https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/

    再次查找test chart包,就能够找到了

    $ helm search test
    NAME                    CHART VERSION   APP VERSION     DESCRIPTION
    local/test-chart        0.1.0           1.0             A Helm chart for Kubernetes
  • 相关阅读:
    20200209 ZooKeeper 3. Zookeeper内部原理
    20200209 ZooKeeper 2. Zookeeper本地模式安装
    20200209 Zookeeper 1. Zookeeper入门
    20200206 尚硅谷Docker【归档】
    20200206 Docker 8. 本地镜像发布到阿里云
    20200206 Docker 7. Docker常用安装
    20200206 Docker 6. DockerFile解析
    20200206 Docker 5. Docker容器数据卷
    20200206 Docker 4. Docker 镜像
    Combining STDP and Reward-Modulated STDP in Deep Convolutional Spiking Neural Networks for Digit Recognition
  • 原文地址:https://www.cnblogs.com/miaoying/p/11265339.html
Copyright © 2011-2022 走看看