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 的逻辑 和 流程控制
## if else 条件判断 ``` #格式 {{- if }} {{- else }} {{- end}} ``` 实例 ```yaml # values.yaml Person: name: david age: 20 sex: man work: IT Ingress: enabled: false # configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap namespace: {{ .Release.Namespace }} data: name: {{ .Values.Person.name | default "noone" | quote }} age: {{ .Values.Person.age | quote }} sex: {{ .Values.Person.sex | upper | quote }} {{- if .Values.Ingress.enabled }} ingress: "配置 ingress" {{- else }} ingress: "不配置 ingress" {{- end }} {{- if eq .Values.work "IT"}} work: "work变量 等于 it" {{- else }} work: "work 不等于it" {{- end }} ## 输出 # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mychart-configmap namespace: default data: name: "david" age: "20" sex: "MAN" ingress: "不配置 ingress" work: "work变量 等于 it" ``` ## with 变量作用域 ``` #values.yaml Person: info: name: david age: 20 sex: man # configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap spacename: {{ .Release.Namespace }} data: {{- with .Values.Person.info }} #避免重复写 .Values.Person.info name: {{ .name | default "noone" }} age: {{ .age | quote }} sex: {{ .sex | upper }} {{- end }} # show # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mychart-configmap spacename: default data: name: david age: "20" sex: MAN ``` ## range 遍历 ``` ## values.yaml Location: - beijing - shanghai - guangzhou - hongkang ## configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap spacename: {{ .Release.Namespace }} data: {{- range .Values.Location }} - {{ . | title }} {{- end }} ## show # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mychart-configmap spacename: default data: - Beijing - Shanghai - Guangzhou - Hongkang ``` 也可以在template 定义 tuple ``` apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap spacename: {{ .Release.Namespace }} data: {{- range .Values.Location }} - {{ . | title }} {{- end }} {{- range tuple "SH" "HK" "BJ" }} #直接遍历tuple 中的元素 - {{ . }} {{- end }} ```
admin
2023年7月23日 17:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码