如何使成功运行的Pod在用户设置的时间内删除自己

时间:2019-05-17 22:48:51

标签: kubernetes

我正在Kubernetes中进行新调度程序的压力测试。我需要打开很多CPU和内存盒来分析性能。

我在豆荚中使用图片:polinux/stress。 我想问一下是否有任何指令,或者当我编写yaml文件时,可以将这个成功生成的pod设置为在我设置的时间内删除自己。

以下yaml文件是我正在编写的用于压力测试的pod。我想问一下是否可以从这里写出来,让他在一段时间后将其删除。

apiVersion: v1
kind: Pod
metadata:
  name: alltest12
  namespace: test
spec:
  containers:
  - name: alltest
    image: polinux/stress
    resources:
      requests:
        memory: "1000Mi"
        cpu: "1"
      limits:
        memory: "1000Mi"
        cpu: "1"
    command: ["stress"]
    args: ["--vm", "1", "--vm-bytes", "500M", "--vm-hang", "1"]

1 个答案:

答案 0 :(得分:0)

如果polinux/stress包含外壳,我相信您可以将其杀死:

- containers:
  image: polinux/stress
  command:
  - sh
  - -c
  - |
    sh -c "sleep 300; kill -9 1" &
    stress --vm 1 --vm-bytes 500M --vm-hang 1

甚至略微相反:

  - |
    stress --vm etc etc &
    child_pid=$!
    sleep 300
    kill -9 $child_pid

您可以使用env:参数化该设置:

env:
- name: LIVE_SECONDS
  value: "300"
command:
- sh
- -c
- |
  sleep ${LIVE_SECONDS}
  kill -9 $child_pid