k8s
组件 资源清单
pod 生命周期
pod 控制器
服务发现
runcher
KubeSphere
Helm
helm命令
helm 常用内置对象
helm 内置函数
helm 的逻辑 和 流程控制
helm 中变量在作用域、列表、元祖、字典中的引用
helm 使用define定义子模版、template和include调用
helm 获取其他文件的内容和文件名
社区的Helm chart仓库
helm几个常用仓库
存储 configMap
进入k8s pod
k8s Node节点的调试
k8s 部署
sealos 部署
kubeadm 1.28部署
增加 node 节点
在aws 上自建k8s
利用NFS动态提供Kubernetes后端存储卷
rook-ceph
CephFS挂载
Ceph Dashboard
ingress
k8s集成kube-prometheus
ServiceMonitor 添加配置
Prometheus 长期远程存储方案 VictoriaMetrics
解决ControllerManager、Scheduler、watchdog监控问题
抓取配置说明
kubernetes配置imagePullSecrets秘钥来拉取镜像
在 Kubernetes 裡跑 curl 來測試內部服務
MetalLB
cloudflare-tunnel-ingress-controller
K8S kubectl 自动补全
argocd
helm部署redis-culster集群
改变默认 StorageClass
自定义指标HPA
istio
kiali
k8s接入graylog
Labels
DNS
HPA
ConfigMap挂载导致容器目录覆盖的问题
污点容忍度
身份认证与权限 RBAC
command
运行crictl ps -a 报错
etcd
cka证书
cert-manager
Kubernetes 创建普通账号
部署 metrics-server 指标
deployment 重启
Kubernetes中如何优雅的解决Pod时区问题
alertmanager
oom killed
eks挂载efs
eks创建集群
eksctl awscli kubectl
污点和容忍度
Kubernetes 删除namespace Terminating解决脚本
k8s 部署 kafka 集群
ack ingress获取客户端客户端真实IP
ingress 反向代理 ws
本文档使用 MrDoc 发布
-
+
首页
helm 使用define定义子模版、template和include调用
## 定义子模版的两个位置 1. 主模版中 2. _helpers.tpl文件内 定义子模版,可以在主模版中定义,也可以在其他文件中定义(_helpers.tpl 文件内,是专门提供的定义子模版的文件) 实际使用中,这些子模版的内容应当放在单独的文件中,通常是_helpers.tpl 文件内 --- 在主模版中定义 子模版 ,使用template 调用子模版 ``` # 声明子模版 {{- define "mychart.data" }} data: var1: "sddd" var2: "sdfff" {{- end }} apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap namespace: {{ .Release.Namespace }} {{- template "mychart.data" }} #调用子模版 ## show # Source: mychart2/templates/configap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mychart2-configmap namespace: default data: var1: "sddd" var2: "sdfff" ``` --- 在 _helpers.tpl 中定义子模版 ``` #_helpers.tpl {{- define "mychart.data" }} data: var1: "sddd" var2: "sdfff" {{- end }} #configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap namespace: {{ .Release.Namespace }} {{- template "mychart.data" }} #调用子模版 ``` --- 向子模版中传入 对象 ``` #values.yaml Person: info: name: david age: 23 #_helpers.yaml {{- define "mychart.data" }} {{- with .Values.Person.info }} data: var1: {{ .name }} var2: {{ .age }} {{- end }} {{- end }} #configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap namespace: {{ .Release.Namespace }} {{- template "mychart.data" . }} #这里注意需要加.符号 ``` 简化对象 写法 ``` #_helpers.yaml {{- define "mychart.data" }} data: var1: {{ .name }} var2: {{ .age }} {{- end }} # configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap namespace: {{ .Release.Namespace }} {{- template "mychart.data" .Values.Person.info }} ``` --- 使用 include 调用子模版 `template 和 include,都可以用来引用子模块,用法一样 ,template不能被其他函数修饰,include 可以` ``` apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap namespace: {{ .Release.Namespace }} {{- include "mychart.data" .Values.Person.info | upper }} #被内置函数修饰 # show # Source: mychart2/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mychart2-configmap namespace: default DATA: VAR1: DAVID VAR2: 23 ``` ``` # _helpers.tpl {{- define "mychart.data" }} var1: {{ .name }} var2: {{ .age }} {{- end }} # configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap namespace: {{ .Release.Namespace }} data: {{- include "mychart.data" .Values.Person.info | toString | indent 2 }} #缩紧 2个字符 #show # Source: mychart2/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mychart2-configmap namespace: default data: var1: david var2: 23 #缩紧 2个字符 ```
admin
2023年7月24日 00:34
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码