Нет, не обязательно.
- Можно запускать свой проект на обычной виртуальной машине в облаке.
- Можно запускать свой проект при помощи всяких serverless штук.
Но если вы хотите использовать kubernetes, то использовать контейнеры обязательно. (экзотику типа управления виртуальными машинами через k8s не рассматриваем)