helm 报告 nil 指针评估接口 {}.green_slot_name

问题描述 投票:0回答:1

我收到一个奇怪的错误。 我在应用程序 helm 图表中运行 helm 命令并收到如下错误:

helm upgrade --install socket-manager  -nsocket-manager .

Release "socket-manager" does not exist. Installing it now.
Error: template: socket-manager/templates/service.yaml:6:37: executing "socket-manager/templates/service.yaml" at <.Values.config.green_slot_name>: nil pointer evaluating interface {}.green_slot_name

我的文件夹结构如下:

/aks-containers/charts/socket-manager$ ls -R
.:
Chart.yaml  README.md  Values.yaml  templates

./templates:
deployment.yaml  ingress.yaml  service.yaml

Values.yaml 如下:

cat Values.yaml
common:
  repo_name: "karbonhqops.azurecr.io/karbonhq"
config:
  image_name: "socket-manager"
  green_image_tag: "feature-container-build-e0190ae"
  blue_image_tag: "feature-19291-add-new-acr-fa3375e"
  port: "8082"
  target_port: "80"
  green_slot_name: "green"
  blue_slot_name: "blue"
  environment: "dev2"
  app_endpoint: "socket"
health_checks:
  liveliness:
    path: /api/ping
    port: 80
  readiness:
    path: /api/status
    port: 80

Kube 清单在这里:

https://gist.github.com/ameyaagashe/1f126c08c42fdcc69af1c7e9c2580060

我想知道这里出了什么问题?

kubernetes-helm helm3
1个回答
0
投票

乍一看,我发现您的清单中有 4 个拼写错误:

应该是

.Values.health_checks.liveliness.*

而不是

.Values.health_checks.liveness.* 

当我在本地修复该拼写错误时,它就起作用了。

您还可以尝试删除服务内

selector
中的双引号

例如:

  selector:
    app: {{ .Chart.Name }}
    slot: {{ .Values.config.green_slot_name }}
© www.soinside.com 2019 - 2024. All rights reserved.