Kubernetes <;。图表名称>;:can';t计算类型接口{}中的字段名
部署图表时,会出现以下错误:Kubernetes <;。图表名称>;:can';t计算类型接口{}中的字段名,kubernetes,charts,kubernetes-helm,configmap,Kubernetes,Charts,Kubernetes Helm,Configmap,部署图表时,会出现以下错误: :无法计算类型接口{}中的字段名这是一个初学者的错误,字段以大写开头,即使Chart.yaml字段以小写开头。与Chart.Version和所有其他字段相同 对于java开发人员来说非常奇怪。因为有术语和 内置值始终以大写字母开头。这是在 符合Go的命名约定。当你创建自己的名字时, 您可以自由使用适合您团队的约定 这些强制大写的内置值的列表 发布:此对象描述发布本身。它内部有几个对象: Release.Name:发布名称 Release.Namespace:要发
:无法计算类型接口{}中的字段名这是一个初学者的错误,字段以大写开头,即使Chart.yaml字段以小写开头。与Chart.Version和所有其他字段相同 对于java开发人员来说非常奇怪。因为有术语和 内置值始终以大写字母开头。这是在 符合Go的命名约定。当你创建自己的名字时, 您可以自由使用适合您团队的约定 这些强制大写的内置值的列表
:此对象描述发布本身。它内部有几个对象:发布
:发布名称Release.Name
:要发布到的命名空间(如果清单未覆盖)Release.Namespace
:如果当前操作是升级或回滚,则将其设置为Release.IsUpgrade
true
:如果当前操作是安装,则设置为Release.IsInstall
true
:此版本的修订号。安装时,该值为1,并且随着每次升级和回滚而递增Release.Revision
:呈现当前模板的服务。在舵上,这始终是Release.Service
Helm
:从Values
文件和用户提供的文件传递到模板中的值。默认情况下,Values.yaml
为空值
:Chart
文件的内容。Chart.yaml
中的任何数据都可以在此处访问。例如,Chart.yaml
将打印出{{.Chart.Name}-{.Chart.Version}
。mychart-0.1.0
- 可用字段列在列表中
:提供对图表中所有非特殊文件的访问。虽然不能使用它访问模板,但可以使用它访问图表中的其他文件。有关更多信息,请参阅访问文件一节。文件
是一个按名称获取文件的函数(Files.Get
).Files.Get config.ini
是一个函数,用于以字节数组而不是字符串的形式获取文件内容。这对于图像之类的东西很有用Files.GetBytes
是一个函数,它返回名称与给定shell Glob模式匹配的文件列表Files.Glob
是一个逐行读取文件的函数。这对于迭代文件中的每一行非常有用Files.Lines
是一个函数,它将文件体作为Base 64编码字符串返回Files.AsSecrets
是一个函数,它以YAML映射的形式返回文件体Files.AsConfig
:提供有关Kubernetes群集支持哪些功能的信息。功能
是一组版本功能。APIVersions
表示集群上是否有可用的版本(例如Capabilities.APIVersions.Has$version
)或资源(例如batch/v1
)apps/v1/Deployment
和Capabilities.KubeVersion
是Kubernetes版本Capabilities.KubeVersion.Version
是Kubernetes的主要版本Capabilities.KubeVersion.Major
是Kubernetes Minor版本Capabilities.KubeVersion.Minor
:包含有关当前正在执行的模板的信息模板
:当前模板的命名空间文件路径(例如Name
)mychart/templates/mytemplate.yaml
:当前图表模板目录的命名空间路径(例如BasePath
)mychart/templates
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
同样,您可以随意使用任何其他手动定义的小写值。
希望它有帮助这不会回答问题注:您可以定义自己的字段,可以是小写或大写