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
  • 相关阅读:
    P4568 [JLOI2011]飞行路线(分层图)
    打地鼠游戏(贪心)
    雷神领域(并查集真是个好东西)并查集+流氓dp
    P2934 [USACO09JAN]安全出行
    P2893 [USACO08FEB]修路
    P2894 [USACO08FEB]酒店Hotel
    P4145 上帝造题的七分钟2 / 花神游历各国
    P2579 [ZJOI2005]沼泽鳄鱼(邻接矩阵,快速幂)
    P2905 [USACO08OPEN]农场危机Crisis on the Farm(简单dp+麻烦“回溯”)
    day 2 上午 挂饰 背包
  • 原文地址:https://www.cnblogs.com/miaoying/p/11265339.html
Copyright © 2011-2022 走看看