V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lambdazx
V2EX  ›  Kubernetes

有没有快速制作 helm chart 的工具?

  •  2
     
  •   lambdazx · 352 天前 · 1623 次点击
    这是一个创建于 352 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景

    最近需要做很多 helm chart ,现在的制作流程如下:

    helm create app
    
    tree app
    app
    ├── Chart.yaml
    ├── charts
    ├── templates
    │   ├── NOTES.txt
    │   ├── _helpers.tpl
    │   ├── deployment.yaml
    │   ├── hpa.yaml
    │   ├── ingress.yaml
    │   ├── service.yaml
    │   ├── serviceaccount.yaml
    │   └── tests
    │       └── test-connection.yaml
    └── values.yaml
    
    4 directories, 10 files
    

    然后手动删掉 templates 里面不需要的资源,或者添加一些需要的资源,比如 (statefulset ,rbac role, rolebinding )等等。

    问题

    上述过程比较重复,而且要添加其他的资源特别麻烦,比如服务是 statefulset 或者 daemonset 部署的,就要把 deployment.yaml 删掉,在 statefulset 里面添加相关的模版。

    手动做这些事情很没有效率,想问下有没有工具能够生成 helm chart 的工具?比如能提前定义 templates 里面需要的 K8s 资源,还有 values.yaml 里面字段的定义。

    目前了解到这个 java 的库好像能做这个事情: https://dekorate.io/docs/helm

    想问下各位有没有其它更好的推荐?

    5 条回复    2023-05-09 14:39:49 +08:00
    ni9ht
        1
    ni9ht  
       352 天前
    create 命令可以指定 -p, --starter ,通过脚手架快速创建 chart ,可以找一些符合你要求的脚手架或者自己封装一个。详情见官方说明: https://helm.sh/docs/helm/helm_create/
    lambdazx
        2
    lambdazx  
    OP
       352 天前
    @ni9ht 感谢,这个有看过,能解决大部分问题。
    不过编写 starter 也和写 chart template 差不多,还是有点复杂,更希望有一种工具或者 SDK ,能够用编程的方式抽象出来 API ,用来自动创建出 chart ,人工写 template 还是有点难受。
    zhouu
        3
    zhouu  
       352 天前
    或者使用类似于 k8s-at-home 的 common chart? [bjw-s/helm-charts]( https://github.com/bjw-s/helm-charts) 提供 values 文件指定镜像、控制器、service 就行
    lambdazx
        4
    lambdazx  
    OP
       352 天前
    @zhouu 这个不错,用 helm 的方式解决了问题,感谢。
    iminto
        5
    iminto  
       352 天前
    以前还真干过用 java 代码结合模板引擎生成 helm 的事情,其实就是点体力活
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3952 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:21 · PVG 18:21 · LAX 03:21 · JFK 06:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.