【问题标题】:Copy report after kubernetes job is succeededKubernetes作业成功后复制报告
【发布时间】: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


    【解决方案1】:

    我认为您可以将报告推送到 git 服务器等系统,或者您可以使用 persistentvolume(PV) 将报告放到 nfs 等共享存储中。您的作业将运行特定的节点主机,然后您还可以查看 hostPath 以从 pod 与主机服务器共享报告。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 2020-02-28
      • 2021-07-26
      相关资源
      最近更新 更多