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

有没有找客户的网站重庆网站建设外包公司排名

有没有找客户的网站,重庆网站建设外包公司排名,为什么外包会是简历污点,图标添加在wordpress本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】(全…

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发、订阅专栏!


专栏订阅入口

| 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 |


往期精彩文章

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)

【K8s】专题十六(2):Kubernetes 包管理工具之 Helm 使用


目录

一、写在前边

二、基本结构

1、结构说明

2、Chart.yaml 示例

3、values.yaml 示例

4、templates/ 目录

5、charts/ 目录

三、模版语法

1、模版指令

2、注释方法

3、内置对象

4、模版函数

5、管道

6、控制结构

7、模版变量

8、命名模版

9、锚点(Anchor)和锚点别名


一、写在前边

前文我们介绍过,Helm Chart 是一个包含 Kubernetes 资源定义文件的集合,通过模板化机制,可以灵活地配置和部署应用程序。本文将继续介绍 Helm Chart 的结构和语法,帮助读者更好地理解和和自定义 Helm Chart。


二、基本结构
1、结构说明
helm create mychart          # 创建一个 Chart 包tree mychart                 # 查看 Chart 包结构mychart/
├── charts                   # 依赖的 Chart 目录(子 Chart)
├── Chart.yaml               # Chart 的元数据文件
├── templates                # 默认的配置文件
│   ├── deployment.yaml        # Deployment 对象模板
│   ├── _helpers.tpl           # 辅助模板,用于定义可重用的模板片段
│   ├── hpa.yaml               # HPA 对象模版
│   ├── ingress.yaml           # Ingress 对象模版
│   ├── NOTES.txt              # 编写 Chart 包的使用方法,可以和模版一样使用所有函数和对象
│   ├── serviceaccount.yaml    # SA 对象模版
│   ├── service.yaml           # Service 对象模板
│   └── tests
│       └── test-connection.yaml
└── values.yaml               # 模板文件目录

2、Chart.yaml 示例

Chart.yaml 是 Helm Chart 的元数据文件,定义了 Chart 的基本信息,如名称、版本、描述等。

apiVersion: v2                     # Chart API 版本,必须
name: mychart                      # Chart 名称,必须
version: 0.1.0                     # Chart 版本,必须
description: xxx                   # Chart 描述,可选
appVersion: "1.0"                  # 应用程序版本,可选

3、values.yaml 示例

values.yaml 是 Helm Chart 的默认的配置文件,定义了模板中使用的变量值。在模板文件中,可以通过 {{ .Values.replicaCount }} 等方式引用变量值。

replicaCount: 1
image:repository: nginxtag: "1.19"pullPolicy: IfNotPresent
service:type: ClusterIPport: 80

4、templates/ 目录

templates/ 目录包含了 Kubernetes 资源的模板文件,Helm 会使用配置文件,将模板渲染后生成实际的  Kubernetes 资源清单。

5、charts/ 目录

charts/ 目录用于存放依赖的 Chart,即子 Chart。用户可以通过 helm dependency 命令管理这些依赖。


三、模版语法
1、模版指令
  • {{  }} 之中的内容叫做模板指令
  • {{ 非模版指令的数据 }} 转义方法:{{`{{ 非模版指令的数据 }}`}}

2、注释方法
  • values.yaml 文件中使用 # 号进行注释
  • templates/ 目录下的模版文件使用 {{/* xxx */}} 进行注释

3、内置对象
  • Release 对象:描述了 Release 实例本身
Release.Name                # Release 的名称
Release.Time                # Release 的时间
Release.Namespace           # Release 的命名空间
Release.Service             # Release 服务的名称
Release.Revision            # Release 的修订版本号,从 1 开始累加
Release.IsUpgrade           # 如果当前操作是升级或回滚,则将其设置为 true
Release.IsInstall           # 如果当前操作是安装,则设置为 true
  • Chart 对象:描述了 Chart.yaml 文件的内容
  • Values 对象:描述了各类配置文件的内容
Values 值有 4 个来源:
1)子 chart 包中的 values.yaml 文件
2)父 chart 包中的 values.yaml 文件
3)-f 或 --values 指定的 YAML 文件
4)--set 指定的键值对参数
  • Files:用于访问非特殊文件
Files.Get                   # 通过文件名获取文件
Files.Lines                 # 逐行读取文件内容
Files.AsSecrets             # 使用 BASE64 编码格式返回文件内容
Files.Glob                  # 按照模式匹配文件名,返回文件列表
Files.AsConfig              # 使用 YAML 格式返回文件内容
  • Capabilities:用于访问 Kubernetes 信息
{{ .Capabilities.KubeVersion }}                    # Kubernetes 版本信息
{{ .Capabilities.APIVersions.Has "batch/v1" }}     # Kubernetes API 版本信息

4、模版函数

用于对传入的参数值进行函数处理。

quote          # 将从 .Values 读取的值变成字符串(自动添加双引号"")
squote         # 将从 .Values 读取的值变成字符串(自动添加单引号'')
title          # 将从 .Values 读取的值首字母变成大写字母
upper          # 将从 .Values 读取的值变成大写字母
lower          # 将从 .Values 读取的值变成小写字母
empty          # 判断从 .Values 读取的值是否为空
repeat N       # 将从 .Values 读取的值复制 N 次
indent N       # 将从 .Values 读取的值缩进 N 个空格
nindent N      # 将从 .Values 读取的值 换行 + 缩进 N个空格
default "xxx"  # 定义默认值,以防从 .Values 读取的值不存在
split "/"      # 将从 .Values 读取的值进行分割
toYaml         # 将从 .Values 读取的值(List 类型)变成 YAML 格式
b64enc         # 将从 .Values 读取的值进行 BASE64 编码
b64dec         # 将从 .Values 读取的值进行 BASE64 解码
print          # 返回各部分组合的字符串,非字符串类型会被转换成字符串
printf         # 返回参数按顺序传递的格式化字符串
trim           # 从字符串中移除首尾两边的空格
trimAll        # 从字符串中移除给定的字符
contains       # 测试字符串是否包含在另一个字符串中
cat            # 将多个字符串合并成一个,用空格分隔
tpl            # 将从 .Values 读取的模版指令进行渲染

5、管道

类似于 Linux 中的管道|,例如通过管道使用 quote 函数将从 .Values 读取的值变成字符串

k8s: {{ .Values.course.k8s | quote }}

6、控制结构
  • if / else 条件控制
{{- if eq/ne/lt/gt/and/or/not .Values.xxx "参数" }}
xxxx
{{- else if xxxx }}
yyyy
{{- else }}
zzzz
{{- end }}
  • with 指定范围
{{- with .Values.course }}
k8s: {{ .k8s | upper | quote }}
python: {{ .python | repeat 3 | quote }}
release: {{ .Release.Name }}
{{- end}}
  • range 循环控制
# 第一种方式
## values.yaml 文件中
env:enable: trueitems:name1: value1name2: value2## templates/deployment.yaml 文件中
containers:
- name: xxx...{{- if .Values.env.enable }}env:{{- range $name,$value := .Values.env.iterms }}      # $name,$value 是模版变量- name: {{ $name }}value: {{ $value | quote }}{{- end }}{{- end }}
=================================================================================
# 第二种方式:
## values.yaml 文件中:
env:
- name: xxx1value: xxx1
- name: xxx2value: xxx2## templates/deployment.yaml 文件中:
containers:
- name: xxx...env:{{- range .Values.env }}- name: {{ .name }}value: {{ .value | quote }}{{- end }}
7、模版变量
{{- $releaseName := .Release.Name }}🔔 := 叫做海象运算符# 示例一
{{- $service := (.Template.Name | split "/")._2 }}
• .Template.Name|split "/": 使用 split 函数将 .Template.Name 按 "/" 分割成列表
• ._2: 从分割后的列表中取出第二个元素# 示例二
{{- $config := index .Values.config $service }}
• index .Values.config $service: 从 .Values.config 中获取与 $service 对应的值

8、命名模版
  • 模版名称是全局的,通常在 _helpers.tpl 文件中定义
  • 在创建 Chart 包时,templates/ 目录下面默认会生成一个 _helpers.tpl 文件
  • templates/ 目录下 NOTE.txt 文件和 _ 开头的文件(即 partials 文件)不会被识别为资源清单文件
  • _ 开头的文件可以被 Chart 包中的其他文件调用
  • define:声明命名模版
{{/* 生成基本的labels标签 */ }}
{{- define "mychart.labels" }}labels:generator: helmdate: {{ now | htmlDate }}
{{- end }}
  • template:导入命名模版
{{- template "mychart.labels" }}
  • include:导入命名模版,并通过 indent 函数控制缩进
{{- include "mychart.labels" | indent 2 }}
  • template 与 include 的区别:
    • template 是一个动作,后面无法使用管道,数据属性是内联的,无缩进
    • include 是一个函数,后面可以使用管道,可以利用 indent 函数实现缩进

9、锚点(Anchor)和锚点别名
# 锚点定义
anchors:pod_template: &pod_templateapiVersion: v1kind: Podmetadata:labels:app: demo...# 锚点别名引用
apiVersion: v1
kind: Pod
metadata:name: demo_pod<<: *pod_template
...

http://www.dtcms.com/wzjs/802921.html

相关文章:

  • 网站开发工具的功能包括哪些天津百度整站优化服务
  • 网页设计培训心得体会产品seo是什么意思
  • 贵州企业网站建设什么网站可以做旅行行程
  • 游戏设计师网站什么样的网站利于优化
  • 网站建设地域名建一个多用户团购网站需要多少钱
  • dedecms学校网站商业模式包括哪些模式
  • 五合一小程序网站付费阅读wordpress主题
  • 网站建设教程百度网盘搜索引擎网络推广方法
  • 网站用图片东莞人力资源招聘官网
  • 网站软文怎么写分析网站设计对网站搜索引擎友好性的影响
  • 优质高职院校建设网站室内软装设计
  • 翔安区建设局网站中国污水处理工程网
  • 网站开发有前途吗百姓网免费发布信息网下载
  • 简洁html网站模版网页推广怎么做的
  • 中国建设银行投诉网站机械设计制造及其自动化圳建设网站
  • 怎样修改网站的主页内容龙岗区住房建设局网站
  • 网站空格键代码办公软件公司排名
  • 烟台网站搭建广州优秀网站建设
  • 个人网站网页模板0基础学做网站教程
  • 免费制作的企业网站东莞市seo网络推广平台
  • 如何把网站做的和别人一样吗沈阳男科医院十大排名
  • 网站在百度上搜不到了装修公司加盟费多少
  • 微信网站用什么做的wordpress主题页面底部编辑
  • 福州仓前网站建设福建省建设厅网站信用评分
  • 狠狠做网站改成什么了电商网站开发合同
  • 网站定位代码168电商平台
  • 石家庄站内换乘图解漳州市城乡和住房建设局网站
  • wordpress添加关键词舟山网站建设优化
  • 由担路网提供网站建设jsp wordpress
  • 衡阳网站建设要点推广晋城推广型网站开发