kubernetes - Helm 3 图表安装错误:验证数据时出错:未设置 apiVersion
问题描述
我有一个简单的 helm chart,它将通过 docker desktop 将应用程序部署到我的本地 kubernetes 副本。如果我使用 kubectl 一次部署 yaml 一个文件,则一切正常。但是,当我尝试创建一个掌舵图以便于部署时,我收到以下错误。
helm 安装演示 WebApi
错误:无法从发布清单构建 kubernetes 对象:错误验证“”:错误验证数据:未设置 apiVersion
该错误似乎是说我的一个或多个 YAML 文件中缺少 apiVersion 映射。但是,我所有的文件似乎都有正确的 apiVersions。
文件夹结构
charts
└── WebApi
├── Chart.yaml
└── templates
├── deployment.yaml
├── ingress.yaml
└── services.yaml
图表.yaml
apiVersion: v2
version: 0.1.0
name: WebApi
appVersion: "1.0"
description: A Helm Chart for WebApi
type: application
部署.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-api
labels:
app: demo
tier: demo-api
spec:
selector:
matchLabels:
app: demo
replicas: 3
template:
metadata:
labels:
app: demo
spec:
containers:
- name: demo
image: demo/image
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
protocol: TCP
resources:
limits:
memory: "128Mi" #128 MB
cpu: "200m" #200 millicpu (.2 cpu or 20% of the cpu)
livenessProbe:
httpGet:
path: /swagger/index.html
port: 80
initialDelaySeconds: 15
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 1
readinessProbe:
httpGet:
path: /swagger/index.html
port: 80
入口.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: demo
spec:
rules:
- host: demo.com
http:
paths:
- backend:
serviceName: demo
servicePort: 80
服务.yaml
apiVersion: v1
kind: Service
metadata:
name: demo
labels:
app: demo
spec:
type: ClusterIP
selector:
app: demo
ports:
- name: http
port: 80
targetPort: 80
如您所见,我的所有 YAML 文件都有所需的 apiVersion 映射,但错误仍然显示它们丢失。我需要进行哪些更正才能使其按预期工作?
解决方案
我有相同的错误消息的类似问题,但不完全相同的问题。对我来说,问题似乎是在其中一个 helm 模板开始时的评论。看来 helm 没有很好地处理这个案子。当我将评论向下移动一点时,它起作用了。
推荐阅读
- swift - macOS Swift TextField.stringValue 在我单击其他内容之前不会返回更新的值
- php - 从 Actionscript 3 向 PHP 发送 JSON
- android - Android 资源链接失败“@colors/blue”与属性资源 (attr) 引用不兼容
- php - 如何在 laravel 中添加媒体文件?
- python - 使用 pytesseract 进行 OCR 时出现缓存错误
- python - python请求curl请求
- python - Django mixin 的鸡和蛋噩梦
- r - 尝试使用“type”和“col”功能创建绘图时出现 R-Studio 错误
- java - Spring Batch ItemReader + RabbitMQ - 未指定“队列”
- java - 如何回调主节点,以便可以在 javafx 中切换到不同的场景