helm 案例说明及chart.yaml 文件解读

helm 案例说明及chart.yaml 文件解读

一:helm案例及目录结构

myapp                                   - chart 包目录名
├── charts                              - 依赖的子包目录,里面可以包含多个依赖的chart包
├── Chart.yaml                          - chart定义,可以定义chart的名字,版本号信息。
├── templates                           - k8s配置模版目录, 我们编写的k8s配置都在这个目录, 除了NOTES.txt和下划线开头命名的文件,其他文件可以随意命名。
│   ├── deployment.yaml
│   ├── _helpers.tpl                    - 下划线开头的文件,helm视为公共库定义文件,主要用于定义通用的子模版、函数等,helm不会将这些公共库文件的渲染结果提交给k8s处理。
│   ├── ingress.yaml
│   ├── NOTES.txt                       - chart包的帮助信息文件,执行helm install命令安装成功后会输出这个文件的内容。
│   └── service.yaml
└── values.yaml                         - chart包的参数配置文件,模版可以引用这里参数。

数据卷设置:

apiVersion: v1
kind: PersistentVolume                                        -这里说明是持久化数据卷
metadata:
  finalizers:
  - kubernetes.io/pv-protection
  labels:
    alicloud-pvname: {{ .Values.volumes.name }}               -数据卷标签,eg:XXX-data
  name: {{ .Values.volumes.name }}                            -数据卷名称,eg:XXX-data
spec:
  accessModes:
  - ReadWriteMany                            -权限
  capacity:
    storage: {{ .Values.volumes.storage }}                    -容量大小,eg:10Gi
  flexVolume:
    driver: alicloud/nas                                      -数据卷类型是nas
    options:
      path: {{ .Values.volumes.path }}                        -数据卷路径,eg:/tmp
      server: {{ .Values.volumes.server }}                    -数据卷服务商,eg:xxxxx.nas.aliyuncs.com
      vers: '3'
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nas

数据卷声明:

apiVersion: v1
kind: PersistentVolumeClaim                              -持久化数据卷声明
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: 'yes'
    pv.kubernetes.io/bound-by-controller: 'yes'
  finalizers:
  - kubernetes.io/pvc-protection
  name: {{ .Values.volumes.name }}
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: {{ .Values.volumes.storage }}            -容量,eg:10Gi
  selector:
    matchLabels:
      alicloud-pvname: {{ .Values.volumes.name }}
  storageClassName: nas
  volumeName: {{ .Values.volumes.name }}

二:chart.yaml 文件

apiVersion: chart API 版本 (必需) helm3支持v1、v2
name: chart名称 (必需)
version: 语义化2 版本(必需) 
kubeVersion: 兼容Kubernetes版本的语义化版本(可选)
description: 一句话对这个项目的描述(可选)
type: chart类型 (可选)application/library
keywords:
  - 关于项目的一组关键字(可选)
home: 项目home页面的URL (可选) 
sources:
  - 项目源码的URL列表(可选)
dependencies: # chart 必要条件列表 (可选)
  - name: chart名称 (nginx)
    version: chart版本 ("1.2.3")
    repository: 仓库URL ("https://example.com/charts") 或别名 ("@repo-name")
    condition: (可选) 解析为布尔值的yaml路径,用于启用/禁用chart (e.g. subchart1.enabled )
    tags: # (可选)
      - 用于一次启用/禁用 一组chart的tag
    enabled: (可选) 决定是否加载chart的布尔值
    import-values: # (可选)
      - ImportValue 保存源值到导入父键的映射。每项可以是字符串或者一对子/父列表项
    alias: (可选) chart中使用的别名。当你要多次添加相同的chart时会很有用
maintainers: # (可选)
  - name: 维护者名字 (每个维护者都需要)
    email: 维护者邮箱 (每个维护者可选)
    url: 维护者URL (每个维护者可选)
icon: 用做icon的SVG或PNG图片URL (可选)
appVersion: 包含的应用版本(可选)。不需要是语义化的
deprecated: 不被推荐的chart (可选,布尔值)
annotations:
  example: 按名称输入的批注列表 (可选).

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值