Как QA в нашей компании я ежедневно пользуюсь кубернетами, и мы используем задание кубернетов для создания модулей тестов производительности. Одно из преимуществ работы согласно документам , является
для создания одного объекта Job, чтобы надежно запустить один Pod до завершения
Но в наших тестах эта функция создаст бесконечное количество модулей, если предыдущие выйдут из строя, что займет ресурсы общего кластера нашей команды, и удаление таких модулей займет много времени. см. это изображение:
В настоящее время манифест вакансии выглядит так:
{
"apiVersion": "batch/v1",
"kind": "Job",
"metadata": {
"name": "upgradeperf",
"namespace": "ntg6-grpc26-tts"
},
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "upgradeperfjob",
"image":
"mycompany.com:5000/ncs-cd-qa/upgradeperf:0.1.1",
"command": [
"python",
"/jmeterwork/jmeter.py",
"-gu",
"[email protected]:mobility-ncs-tools/tts-cdqa-tool.git",
"-gb",
"upgradeperf",
"-t",
"JMeter/testcases/ttssvc/JMeterTestPlan_ttssvc_cmpsize.jmx",
"-JtestDataFile",
"JMeter/testcases/ttssvc/testData/avaml_opus.csv",
"-JthreadNum",
"3",
"-JthreadLoopCount",
"1500",
"-JresultsFile",
"results_upgradeperf_cavaml_opus_t3_l1500.csv",
"-Jhost",
"mtl-blade32-03.mycompany.com",
"-Jport",
"28416"
]
}
],
"restartPolicy": "Never",
"imagePullSecrets": [
{
"name": "docker-registry-secret"
}
]
}
}
}
}
В некоторых случаях, например, при неправильной настройке IP / портов, «надежно запустить один под до завершения» невозможно, а воссоздание подов является пустой тратой времени и ресурсов. Так возможно ли и как ограничить задание kubernetes для создания максимального количества (скажем, 3) модулей, если они всегда терпят неудачу?