我正在尝试在我们的 CI/CD 管道中实现几个子图表,但我的helm upgrade --install
命令不断返回错误消息:
发布“测试”不存在。现在安装。错误:没有访问过对象
这似乎是一个非常普遍的错误消息,所以我不太确定它指向什么。任何建议/提示/提示等将不胜感激。
我的helm目录的文件夹结构如下:
deployment
|-helm
|testing
||charts
|application
|-templates
| |-deployment.yaml
|-.helmignore
|-Chart.yaml
|-value.yaml
|configuration
|-templates
| |-configmap.yaml
| |-secrets.yaml
|-.helmignore
|-Chart.yaml
|-values.yaml
||-Chart.yaml
||-values.yaml
依赖项定义如下:
测试/Chart.yaml
apiVersion: v2
name: testing
description: subchart demo
type: application
version: 0.1.0
appVersion: "1.16.0"
测试/values.yaml
application:
enabled: true
#disable configuration for easier debugging
configuration:
enabled: false
配置/Chart.yaml
apiVersion: v2
name: configuration
description: subchart demo
type: application
version: 0.1.0
appVersion: "1.16.0"
应用程序/Chart.yaml
apiVersion: v2
name: application
description: subchart demo
type: application
version: 0.1.0
appVersion: "1.16.0"
应用程序/部署.yaml
{{- range $k, $v := .Values.region }}
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: {{ $.Release.Name }}-{{ .countryCode | lower }}-deployment
name: {{ $.Release.Name }}-{{ .countryCode | lower }}-deployment
namespace: {{ $.Values.global.namespace }}
spec:
replicas: 1
template:
metadata:
labels:
app: {{ $.Release.Name }}-{{ .countryCode | lower }}-deployment
spec:
containers:
- image: {{ $.Values.image_name }}
imagePullPolicy: Always
name: {{ $.Release.Name }}-{{ .countryCode | lower }}-deployment
---
{{- end }}
应用程序/values.yaml
image_name: image_name
config:
enabled: true
region:
- countryCode: US
volumeMounts:
- mountPath: /app/config
name: app-config-volume
volumes:
- name: app-config-volume
configMap:
defaultMode: 420
name: app-configmap
最后下面是我在管道中运行的命令:
helm upgrade --install testing deployment/helm/testing -f deployment/helm/testing/values.yaml --set known_hosts="***" --set image_name=$DOCKER_TAG