当前位置: 首页 > wzjs >正文

优秀网站模板欣赏写手代写平台

优秀网站模板欣赏,写手代写平台,网站上面带官网字样怎么做的,外贸公司网站建设哪家好一、Chart模板:函数与管道 常用函数: • quote:将值转换为字符串,即加双引号 • default:设置默认值,如果获取的值为空则为默认值 • indent和nindent:缩进字符串 • toYaml:引用一…

一、Chart模板:函数与管道

常用函数:
• quote:将值转换为字符串,即加双引号
• default:设置默认值,如果获取的值为空则为默认值
• indent和nindent:缩进字符串
• toYaml:引用一块YAML内容
• 其他函数:upper(转换为大写)、title(只首字母大写)等

1.1 quote:将值转换为字符串,即加双引号

示例:nodeSelector标签的值用了true正常使用会报错,这是因为它是关键字,需要加引号才可以。

# values.yaml
nodeSelector:
gpu: true
# templates/deployment.yamlnodeSelector:
disktype: {{ quote .Values.nodeSelector.gpu }}

输出效果:

# templates/deployment.yamlnodeSelector:
disktype: "true"

1.2 default:设置默认值,如果获取的值为空则为默认值

示例:以防止忘记定义而导致模板文件缺少字段无法创建资源,这时可以为字段定义一个默认值。

image: {{ .Values.image.repository }}:{{ .Values.image.tag | default "latest" }}

这里用到了管道符“|”,前面的值传递后函数验证是否为空。
假如.Values.image.tag这个变量值为空,输出效果就如下:

image: nginx:latest

1.3 indent和nindent函数

indent和nindent函数都是缩进字符串,主要区别在于nindent会在缩进前多添加一个换行符。
示例:

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: {{ .Release.Name | indent 6 }}
app: {{ .Release.Name | nindent 6 }}
...

后面的数字6,标识往后缩进6个字符
示例效果:

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: web-ng
app: web-ng
...

1.4 toYaml:引用一块YAML内容

示例:在values.yaml里写结构化数据,引用内容块

# values.yaml
resources:limits:cpu: 100mmemory: 128Mi
requests:cpu: 100mmemory: 128Mi

deployment.yaml引用values.yaml的变量值,并换行缩进10个字符

# templates/deployment.yaml
...
resources:
{{ toYaml .Values.resources | nindent 10 }}

deployment.yaml输出的效果:

# templates/deployment.yaml
...
resources:limits:cpu: 100mmemory: 128Mirequests:cpu: 100mmemory: 128Mi

二、Chart模板:流程控制

Helm模板语言提供以下流程控制语句:
• if/else:条件判断
• range:循环
• with:指定变量作用域

2.1 流程控制之if/else

# values.yaml
ingress:
enabled: false
# templates/ingress.yaml
{{ if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: web
spec:
rules:
- host: www.ctnrs.com
http:paths:- path: /pathType: Prefixbackend:service:name: webport:number: 80
{{ end }}

测试:helm install test --set ingress.enabled=true --dry-run mychart,效果为:不填充if包裹的内容

2.2 流程控制之range

# cat values.yaml
test:
- 1
- 2
- 3
# templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}
data:
test: |
{{- range .Values.test }}
{{ . }} # 引用当前元素
{{- end }}

输出效果:

# templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: web-ng
data:test: - 1- 2- 3

2.3 流程控制之with

with语句可以允许将当前范围 . 设置为特定的对象,比如我们前面一直使用
的 .Values.nodeSelecotr,我们可以使用 with来将 . 范围指向 .Values.nodeSelecotr

# cat values.yaml
...
nodeSelector:team: agpu: yes
# cat templates/deployment.yaml
...
{{- with .Values.nodeSelector }}
nodeSelector:
team: {{ .team }}
gpu: {{ .gpu }}
{{- end }}

填充后的效果:

# templates/deployment.yaml
...
nodeSelector:
team: a
gpu: yes

三、Chart模板:命名模板

命名模板类似于开发语言中的函数。指一段可以直接被另一段程序或代码引用的程序或代码。
在编写chart时,可以将一些重复使用的内容写在命名模板文件中供公共使用,这样可减少重
复编写程序段和简化代码结构。
命名模块使用define定义,template或include引入,在templates目录中默认下划线开头的
文件为公共模板(helpers.tpl)。

定义模板:
示例:资源名称生成指令放到公共模板文件,作为所有资源名称

# cat templates/_helpers.tpl 注意是在_helpers.tpl文件写模板
{{- define "fullname" -}}
{{- .Chart.Name -}}-{{ .Release.Name }}
{{- end -}}
# cat templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "fullname" . }}
...

使用模板:
template指令是将一个模板包含在另一个模板中的方法。但是,template函
数不能用于Go模板管道。为了解决该问题,引入include指令。(平时我们用include就行)

示例:
1 定义:

# cat _helpers.tpl
{{- define "labels" -}}
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
{{- end -}}

2 使用:

# cat deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "fullname" . }}
labels:
{{- include "labels" . | nindent 4 }}...
http://www.dtcms.com/wzjs/339804.html

相关文章:

  • 公司网站主机流量30g每月够用吗附近哪里有计算机培训班
  • 成都网站关键排名新闻发布会
  • 网站建设表单教案线下推广的渠道和方法
  • 2012服务器做网站seo推广的网站和平台有哪些
  • 池州做网站公司如何在百度上发布自己的文章
  • WordPress出现508seo学校培训
  • 贵州建设厅安全员b证考试网站湖南网站建设平台
  • 怎么做照片网站站长统计app软件下载2021
  • 大连 网站开发培训机构最新消息
  • 有点子外包做网站会不会被盗窃东莞营销型网站建设
  • 樟树有哪几个网站做爆药库哈尔滨最新疫情
  • 网站开发合作协议书竞价托管就选微竞价
  • 亚马逊网站可以做批发吗信息流推广的竞价机制是
  • 垃圾网站怎么做的销售推广方案
  • 微网站什么意思制作网页模板
  • 有哪些网站用java做的网站排名优化软件
  • 网站如何做导航网络软文案例
  • 移动网站建设商如何做网络推广赚钱
  • 制作网站费怎么做会计科目湘潭营销型网站建设
  • 济南企业建站系统网络营销创意案例
  • 关于网站建设的图片站长收录平台
  • 松江做营销网站在线培训平台
  • 手机wap网站建设baidu百度一下
  • 公司的网站建设费用入什么科目一年的百度指数
  • 哪家成都公司做网站优化服务
  • 网站备案编号查询中国职业培训在线官方网站
  • 做网站找华企全国分站seo
  • 做网站数据对电脑要求windows优化大师软件介绍
  • 如何写代码做网站6南宁正规的seo费用
  • 和县网站设计建网站一般需要多少钱