Являясь QA в нашей компании, я ежедневно пользуюсь kubernetes, и мы используем работу kubernetes для создания модулей тестирования производительности.Согласно документам , одним из преимуществ задания является
для создания одного объекта задания для надежного запуска одного модуля 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",
"git@gitlab-pri-eastus2.dev.mycompany.net: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 / ports, надежнозапустить один модуль до завершения »невозможно, а воссоздание модулей - пустая трата времени и ресурсов.Так возможно ли и как ограничить работу kubernetes для создания максимального числа (скажем, 3) стручков, если всегда происходит сбой?