helm NOTES.txt

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: helm NOTES.txt

1. NOTES.txt

我们前面在使用 helm install 命令的时候,Helm 都会为我们打印出一大堆介绍信息,这样当别的用户在使用我们的 chart 包的时候就可以根据这些注释信息快速了解我们的 chart 包的使用方法,这些信息就是编写在 NOTES.txt 文件之中的,这个文件是纯文本的,但是它和其他模板一样,具有所有可用的普通模板函数和对象。


现在我们在前面的示例中 templates 目录下面创建一个 NOTES.txt 文件:

Thank you for installing {{ .Chart.Name }}.
Your release is named {{ .Release.Name }}.
To learn more about the release, try:
  $ helm status {{ .Release.Name }}
  $ helm get {{ .Release.Name }}

我们可以看到我们在 NOTES.txt 文件中也使用 ChartRelease 对象,现在我们在 mychart 包根目录下面执行安装命令查看是否能够得到上面的注释信息:

$ helm install .
Error: release nomadic-deer failed: ConfigMap in version "v1" cannot be handled as a ConfigMap: v1.ConfigMap: Data: ReadString: expects " or n, but found [, error found in #10 byte of ...|rselist":[{"0":"K8s"|..., bigger context ...|:{"app":"mychart","chart":"mychart","courselist":[{"0":"K8s"},{"1":"Python"},{"2":"Search"},{"3":"Go|...

我们可以看到出现了上面的错误信息,但是如果我们去执行 debug 命令来调试的话是没有任何问题的,是可以正常渲染的,但是为什么在正式安装的时候确出现了问题呢?这是因为我们在 debug 调试阶段只是检验模板是否可以正常渲染,并没有去检查对应的 kubernetes 资源对象对 yaml 文件的格式要求,所以我们说 debug 测试通过,并不代表 chart 就真正的是可用状态,比如我们这里是一个 ConfigMap 的资源对象,ConfigMap 对 data 区域的内容是有严格要求的,比如我们这里出现了下面这样的内容:

web: true
courselist:
- 0: "K8s"
- 1: "Python"
- 2: "Search"
- 3: "Golang"

这的确是一个合法的 yaml 文件的格式,但是对 ConfigMap 就不合法了,需要把 true 变成字符串,下面的字典数组变成一个多行的字符串,这样就是一个合法的 ConfigMap了:(templates/config.yaml)

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-configmap
  labels:
{{- include "mychart.labels" . | indent 4}}
data:
  app: mychart
  myvalue: {{ .Values.hello | default  "Hello World" | quote }}
  {{- $releaseName := .Release.Name }}
  {{- with .Values.course }}
  k8s: {{ .k8s | upper | quote }}
  python: {{ .python | repeat 5 | quote }}
  release: {{ $releaseName }}
  {{- if eq .python "django" }}
  web: "true"
  {{- end }}
  {{- end }}
  courselist: |
    {{- range $index, $course := .Values.courselist }}
    {{ $course | title | quote }}
    {{- end }}
  {{- range $key, $val := .Values.course }}
  {{ $key }}: {{ $val | upper | quote }}
  {{- end }}
{{- include "mychart.labels" . | indent 2 }}

现在我们再来执行安装命令:

$ helm install .
NAME:   nosy-pig
LAST DEPLOYED: Sat Sep 29 19:26:16 2018
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME                DATA  AGE
nosy-pig-configmap  11    0s
NOTES:
Thank you for installing mychart.
Your release is named nosy-pig.
To learn more about the release, try:
  $ helm status nosy-pig
  $ helm get nosy-pig

现在已经安装成功了,而且下面的注释部分也被渲染出来了,我们可以看到 NOTES.txt 里面使用到的模板对象都被正确渲染了。


为我们创建的 chart 包提供一个清晰的 NOTES.txt 文件是非常有必要的,可以为用户提供有关如何使用新安装 chart 的详细信息,这是一种非常友好的方式方法。


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
25天前
|
网络虚拟化 Docker 容器
docker Desktop报错 error pulling image configuration 处理
docker Desktop报错 error pulling image configuration 处理
31 0
|
4月前
|
开发工具 git
unable to index file ‘~$git提交版本号.xlsx‘
unable to index file ‘~$git提交版本号.xlsx‘
centos8 Failed to download metadata for repo ‘base‘: Cannot download repomd.xml
centos8 Failed to download metadata for repo ‘base‘: Cannot download repomd.xml
457 1
|
6月前
|
Oracle 关系型数据库 应用服务中间件
Supplemental Readme - Grid Infrastructure Release Update 12.2.0.1.x / 18c /19c (Doc ID 2246888.1)
Supplemental Readme - Grid Infrastructure Release Update 12.2.0.1.x / 18c /19c (Doc ID 2246888.1)
70 7
|
Docker Windows 容器
在Docker中的Neo4j导入CSV文件报错:Couldn‘t load the external resource at: file:/...解决办法
在Docker中的Neo4j导入CSV文件报错:Couldn‘t load the external resource at: file:/...解决办法
655 0
在Docker中的Neo4j导入CSV文件报错:Couldn‘t load the external resource at: file:/...解决办法
|
Python
YAML+PyYAML笔记 9 | PyYAML源码之dump(),dump_all(),safe_dump(),yaml.YAMLObject
YAML+PyYAML笔记 9 | PyYAML源码之dump(),dump_all(),safe_dump(),yaml.YAMLObject
122 0
安装MinGW-W64提示cannot download repository.txt
安装MinGW-W64提示cannot download repository.txt
345 0
安装MinGW-W64提示cannot download repository.txt
|
缓存 Linux 开发工具
【Linux server】yum 安装git报错Errors during downloading metadata for repository......
前言 今天发现服务器没有装git,用yum安装git的时候因为网络的原因总是失败,想到了切换一下yum的源,切了之后呢发现报错:Errors during downloading metadata for repository 'AppStream'
1133 0
Typora过期 报错:This beta version of Typora is expired, please download and install a newer version.
Typora过期 报错:This beta version of Typora is expired, please download and install a newer version.
165 0