我收到一个奇怪的错误。 我在应用程序 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
我想知道这里出了什么问题?
乍一看,我发现您的清单中有 4 个拼写错误:
应该是
.Values.health_checks.liveliness.*
而不是
.Values.health_checks.liveness.*
当我在本地修复该拼写错误时,它就起作用了。
您还可以尝试删除服务内
selector
中的双引号
例如:
selector:
app: {{ .Chart.Name }}
slot: {{ .Values.config.green_slot_name }}