Как стать автором
Поиск
Написать публикацию
Обновить

«Иногда лучше написать велосипед»: как тестировать кластеры Kubernetes с помощью Python

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.5K
Всего голосов 37: ↑37 и ↓0+37
Комментарии7

Комментарии 7

а почему именно Питон? Вроде для этого Го должен быть роднее (вместе в terratest)

Почему го роднее? Поясните? Только не говорите, что раз кубер на го написан, то го роднее :) Тестирование через апи... Классические рест запросы... В целом в го удобно работать со структурированными данными... Но в питоне есть тоже такое -- pydantic. Может человек питоном хорошо владеет.

ну на го есть готовые тулзы для работы - например terratest. Он весьма удобен для взаимодействия с кубером и собственно заточен для тестов. А прикрутить классические рест запросы не составит труда. Можно и питоном тестить и если хочется ада и хардкора то и JS наверняка. но мне просто интересно почему именно питон. Год назад решал именно такую задачу и в итоге выбрал го, хотя питоном владею сильно лучше, чем го

Дело в том что опыт написание тестовых фреймворков у меня на пайтоне был , на го не был. Задача была сделать это в ограниченных сроках , условно написать рабочий фреймворк за 2 месяца с 0 , плюс это было на испытательном сроке. Время на адаптацию и изучению новых технологий особо не было. Данный фреймворк поддерживаю только я и дополняю только я , так как я единственный куа в команде, писать мне удобнее на пайтоне, поэтому переписывать его на другой язык не вижу особого смысла. Возможно в дальнейшем , когда команда станет больше , появится больше ресурсов , я это сделаю , но в любом случае спасибо за комментарий, почитаю про terratest.

Могли бы вы добавить листинг всего кода со всеми импортами? Показалось, что код не весь. Что, например, в ClusterSteps()? Или config.load_kube_config в KubernetesSelectelClient ?

Этот код — наша разработка. Все, что можно было показать, мы показали в этой статье) Если у вас есть вопросы по паттернам, отдельным методам — могу ответить. В ближайшее время я сделаю рефакторинг и перенесу репу с тестами на гитхаб, сейчас она лежит в в нашем корпоративном гитлабе. Кроме config.load_kube_config в KubernetesSelectelClient у вас есть еще какие то вопросы по методам?

Было бы интересно посмотреть весь код, чтобы по методологии copy-paste-run :) запустить и посмотреть и не писать свой фреймворк, чтобы тоже интересно, но это, я думаю, чуть сложнее и дольше)

Из минусов можно отметить только отсутствие версионирования: часто приходится самостоятельно подбирать необходимую функцию для работы со своей версией Kubernetes, а это не всегда удобно.

Это как? Один и тот же метод, но для разных версий и без версионирования?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий