Что такое Docker и Kubernetes
Что проверяют
Умеете ли вы работать там, где приложение живёт в контейнерах. От тестировщика не ждут навыков администратора: ждут, что вы поднимете стенд, найдёте логи упавшего сервиса и отличите баг продукта от развалившегося окружения.
Как отвечать
Docker пакует приложение вместе с зависимостями в образ и запускает его изолированным процессом на общем с хостом ядре. Это даёт воспроизводимый стенд: один и тот же образ на ноутбуке и в CI.
Kubernetes оркестрирует контейнеры на группе машин: следит, чтобы нужное число экземпляров было живо, перезапускает упавшие, катит обновления, раздаёт адреса и конфигурацию. Сам он контейнеры через Docker давно не запускает, этим занимается containerd или другая среда исполнения, а образы остаются совместимыми.
Полезно уметь: собрать стенд из нескольких сервисов и базы одной командой, поднять зависимости контейнерами прямо из автотестов, посмотреть логи пода и события, пробросить порт до сервиса внутри кластера, понять по статусу, что контейнер перезапускается или не проходит проверку готовности.
kubectl logs -f deploy/api
kubectl describe pod api-7d9Где спотыкаются
Называют контейнер лёгкой виртуальной машиной. Ядро общее, поэтому образ не переедет между архитектурами процессора и не запустится на чужом ядре, а изоляция здесь слабее, чем у виртуальной машины.
Тестируют подвижный тег и потом не могут воспроизвести дефект. Стенд пришпиливают к конкретной версии образа, иначе «вчера падало» не проверяется никак.
Записывают в баги продукта поведение оркестратора. Пятисотые в момент выката, обрывы долгих запросов, пропавшие после перезапуска пода файлы это обычно кривые проверки готовности, отсутствие плавного завершения и запись во временный слой контейнера.