kubernetes-helm - 错误:无法获取 helm test myproject --logs 的 pod 日志
问题描述
我不确定这是 helm 的错误(使用 3.0.2 版)还是我的配置问题。
当我使用 --logs 选项启动 helm test 命令时,我在测试结束之前收到一个错误(测试正常,使用正常日志,因为我可以使用 kubectl 日志读取)。
测试 pod 是“未找到”,因为它有一个特定的名称,如“myproject-django-test-tjbhc”(与预期正确命名的作业不同)。
$ helm test $RELEASE --logs --namespace $NAMESPACE
NAME: myproject-test
LAST DEPLOYED: Fri Feb 14 10:10:03 2020
NAMESPACE: myproject-test-vjuh-init-helm
STATUS: deployed
REVISION: 1
TEST SUITE: myproject-test-django-test
Last Started: Fri Feb 14 10:13:16 2020
Last Completed: Fri Feb 14 10:18:16 2020
Phase: Failed
NOTES:
Deployed!
Error: unable to get pod logs for myproject-test-django-test: pods "myproject-test-django-test" not found
ERROR: Job failed: exit code 1
yaml:
apiVersion: batch/v1
kind: Job
metadata:
name: "{{ .Release.Name }}-django-test"
labels:
app: {{ template "myproject.fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
annotations:
"helm.sh/hook": test
spec:
template:
metadata:
name: "{{ .Release.Name }}-django-test"
spec:
containers:
- name: main
image: {{ template "myproject.django.image" . }}
imagePullPolicy: "{{ .Values.myproject.django.pullPolicy }}"
args:
- test
解决方案
这似乎是Helm 3中的一个错误。我为此在 GitHub 上创建了一个问题- 让我们看看会发生什么。
作为临时修复,您可以通过注释测试 Pod 来阻止测试 Pod 被删除:
"helm.sh/hook-delete-policy": before-hook-creation
推荐阅读
- arrays - char argv[ ][ ] 作为主函数参数,为什么不呢?
- python - 注释点图
- vb.net - 运行已发布的 .exe 时出现错误消息“无法加载类型‘System.ComponentModel.AsyncCompletedEventArgs’”
- java - java - 如何在没有withColumn的情况下将Spark Dataset的所有列转换为Java中的String?
- arduino - 无法将数据从 nodeMCU-8266 发送到本地主机(数据库)
- awk - awk, sed 命令从 lftp 日志文件中提取文件名
- python - 将子文件夹名称与文件名和输出文件夹 python 匹配
- excel - 在第一个活动单元格中应用公式的宏
- python - 如何将行值与另一个熊猫数据框中的组值总和进行比较?
- tensorflow - 如何使用 Keras Lambda 层修复类型错误