首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Helm安装失败: configMap不能作为ConfigMap: json: ConfigMap处理,无法将bool解封为ConfigMap.data类型的string类型的结构字段

Helm安装失败: configMap不能作为ConfigMap: json: ConfigMap处理,无法将bool解封为ConfigMap.data类型的string类型的结构字段
EN

Stack Overflow用户
提问于 2022-05-06 07:00:35
回答 2查看 7.6K关注 0票数 4

试图执行helm安装,但我得到了如下错误消息:

代码语言:javascript
复制
install.go:178: [debug] Original chart version: ""
install.go:195: [debug] CHART PATH: /Users/lkkto/Dev/pipelines/manifests/helm/helm-pipeline/charts/base/charts/installs/charts/multi-user/charts/api-service
client.go:128: [debug] creating 4 resource(s)
Error: INSTALLATION FAILED: ConfigMap in version "v1" cannot be handled as a ConfigMap: json: cannot unmarshal bool into Go struct field ConfigMap.data of type string
helm.go:84: [debug] ConfigMap in version "v1" cannot be handled as a ConfigMap: json: cannot unmarshal bool into Go struct field ConfigMap.data of type string
INSTALLATION FAILED
main.newInstallCmd.func2
    helm.sh/helm/v3/cmd/helm/install.go:127
github.com/spf13/cobra.(*Command).execute
    github.com/spf13/cobra@v1.3.0/command.go:856
github.com/spf13/cobra.(*Command).ExecuteC
    github.com/spf13/cobra@v1.3.0/command.go:974
github.com/spf13/cobra.(*Command).Execute
    github.com/spf13/cobra@v1.3.0/command.go:902
main.main
    helm.sh/helm/v3/cmd/helm/helm.go:83
runtime.main
    runtime/proc.go:250
runtime.goexit
    runtime/asm_amd64.s:1571

这似乎与我生成的configmap有关:

代码语言:javascript
复制
apiVersion: v1
data:
  DEFAULTPIPELINERUNNERSERVICEACCOUNT: default-editor
  MULTIUSER: true
  VISUALIZATIONSERVICE_NAME: ml-pipeline-visualizationserver
  VISUALIZATIONSERVICE_PORT: 8888
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: kubeflow-pipelines
    app.kubernetes.io/component: ml-pipeline
    application-crd-id: kubeflow-pipelines
  name: pipeline-api-server-config-f4t72426kt
  namespace: kubeflow

有什么问题吗?

EN

回答 2

Stack Overflow用户

发布于 2022-05-06 07:25:17

来自文档 ConfigMap.data的是一个string:string地图。在您的示例中,您将MULTIUSER设置为布尔值。

将ConfigMap更新为:

代码语言:javascript
复制
apiVersion: v1
data:
  DEFAULTPIPELINERUNNERSERVICEACCOUNT: default-editor
  MULTIUSER: 'true'
  VISUALIZATIONSERVICE_NAME: ml-pipeline-visualizationserver
  VISUALIZATIONSERVICE_PORT: 8888
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: kubeflow-pipelines
    app.kubernetes.io/component: ml-pipeline
    application-crd-id: kubeflow-pipelines
  name: pipeline-api-server-config-f4t72426kt
  namespace: kubeflow

注意'true' for MULTIUSER。这将显式地将其设置为字符串。

票数 2
EN

Stack Overflow用户

发布于 2022-09-29 09:52:34

只是为了支撑更多的东西。在设置入口控制器时遇到了问题。

我最初的配置如下:

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: prometheus-kube-prometheus-prometheus
  namespace: monitoring
  labels:
    app: kube-prometheus-stack-prometheus
    heritage: Helm
    release: prometheus
    self-monitor: true

问题是self-monitor: true,因为它是个bool,所以Helm不能把它放入字符串中。它应该包含在类似- self-monitor: "true"这样的引号中,因此我们将在后面得到以下内容:

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: prometheus-kube-prometheus-prometheus
  namespace: monitoring
  labels:
    app: kube-prometheus-stack-prometheus
    heritage: Helm
    release: prometheus
    self-monitor: "true"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72137376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档