Мне нужно определить место для экспериментов. Я уже выбрал один вариант - kind (или KinD, то есть "Kubernetes in Docker"). Это проект с открытым исходным кодом, который позволяет развернуть полноценный кластер k8s в докере на вашей локальной машине. Каждая нода кластера - это отдельный контейнер. Есть и другие альтернативы: minikube, k3s. В конце концов, можно арендовать минималистичный кластер у одного из облачных провайдеров, но это стоит реальных денег. У меня был опыт с minikube, но он как будто "тяжелее", чем kind. Пока что kind мне показался самым разумным вариантом: он прост в освоении и при этом очень похож на настоящий k8s. Его будет достаточно, чтобы работать в режиме "на коленке" первое время, а дальше посмотрим.
У меня есть подходящая под мои задачи машина с Ubuntu Server 22.04, само собой, без графического интерфейса. Она и будет моим НИИ на первое время. Однако, мне предстоит редактировать много развесистых yaml-ов, поэтому очень важно иметь удобный редактор, например VS Code. Причем, VS Code я буду открывать локально, а уже в нем по ssh я буду работать файлами и консолью удаленного сервера. Лепота!
Так, kind создаст нам кластер k8s, но мне этим кластером еще нужно будет управлять. Для этого потребуется kubectl.
На моей "лабораторной" машине уже есть docker, поэтому ставить я буду только kind и kubectl. Установка обоих инструментов заключается, по сути, в скачивании двух бинарников. Лепота №2! Очень люблю за такое проекты, написанные на go.
Как заведено, прежде чем делать что-либо свое, разумно будет развернуть "hello-world". Для kind - это создать кластер с конфигом по умолчанию, задеплоить какой-нибудь стандартный nginx и потыкать в него
Расписывать это здесь не буду, задача тривиальная.
Так, совсем забыл про СУБД! Я ее, пожалуй, разверну потом в отдельном контейнере. Кстати, можно вообще попробовать облачно-нативный вариант из одного из прошлых постов, чтобы вообще весь наш контур управлялся кубером.
Лаба более менее обустроена, завтра начинаем варить, ага 😎 думать над тем, как засунуть 1С в k8s 🤓