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
    • Release.Revision
      :此版本的修订号。安装时,该值为1,并且随着每次升级和回滚而递增
    • 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
      是一个函数,用于以字节数组而不是字符串的形式获取文件内容。这对于图像之类的东西很有用
    • Files.Glob
      是一个函数,它返回名称与给定shell Glob模式匹配的文件列表
    • Files.Lines
      是一个逐行读取文件的函数。这对于迭代文件中的每一行非常有用
    • Files.AsSecrets
      是一个函数,它将文件体作为Base 64编码字符串返回
    • Files.AsConfig
      是一个函数,它以YAML映射的形式返回文件体
  • 功能
    :提供有关Kubernetes群集支持哪些功能的信息。
    • 功能。APIVersions
      是一组版本
    • Capabilities.APIVersions.Has$version
      表示集群上是否有可用的版本(例如
      batch/v1
      )或资源(例如
      apps/v1/Deployment
    • Capabilities.KubeVersion
      Capabilities.KubeVersion.Version
      是Kubernetes版本
    • Capabilities.KubeVersion.Major
      是Kubernetes的主要版本
    • Capabilities.KubeVersion.Minor
      是Kubernetes 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" . }}
同样,您可以随意使用任何其他手动定义的小写值。
希望它有帮助

这不会回答问题注:您可以定义自己的字段,可以是小写或大写