【发布时间】:2018-08-14 06:54:07
【问题描述】:
我有一些服务在 Kubernetes 的命名空间上运行。我已经创建了一个作业来运行指向这些服务的 api 测试,当这个作业完成(成功)时,我希望能够将 json 报告复制到我的机器上。我尝试使用 kubectl cp 但这仅在 pod 仍在运行时才有效。
有谁知道我如何在作业完成后复制这些报告?我尝试创建一个部署,以便能够复制这些报告,但是没有用于部署的restartpolicy 并且每次都重新启动测试,这使我在能够复制它们之前丢失了报告。还尝试使用 restartpolicy: NEVER 创建一个 pod,但我遇到了与工作相同的问题。
apiVersion: v1
kind: Pod
metadata:
name: api-tests
namespace: tests
spec:
restartPolicy: Never
containers:
- name: api-tests
image: api-tests:latest
args:
- run
- https://www.getpostman.com/collections/test23423423
- -e
- /etc/newman/envs/kubernetes.postman_environment.json
- -d
- /etc/newman/data/tests.csv
- --reporters
- cli,html,json
- --reporter-json-export
- /etc/newman/target/api_tests.json
- --reporter-html-export
- /etc/newman/target/api_tests.html
- --reporter-cli-no-failures
这是我目前拥有的job.yaml。
欢迎提出任何想法。
【问题讨论】:
标签: automation kubernetes