Наличие хорошей обратной связи на местном уровне - одна из основных тем в экосистеме Kubernetes.
Разбивая этот вопрос, я считаю, что есть несколько инструментов, которые хорошо поддерживают эту цель.
Докер для Mac Kubernetes
Docker для Mac Kubernetes ( Docker Desktop - это общее название кроссплатформенности) предоставляет отличный вариант для локальной разработки. Для виртуализации он использует HyperKit, который построен на собственной структуре гипервизора в macOS вместо VirtualBox.
Функция Kubernetes была впервые выпущена в виде бета-версии на пограничном канале в январе 2018 года и с тех пор прошла долгий путь, став сертифицированным Kubernetes в апреле 2018 года и перейдя на стабильный канал в июле 2018 года .
По моему опыту, работать с ним намного проще, чем с Minikube, особенно на macOS, и особенно когда дело касается таких проблем, как RBAC, Helm, гипервизор, частный реестр и т. Д.
Шлем
Что касается распространения вашего кода и получения обновлений локально, Helm - один из самых популярных вариантов. Вы можете публиковать свои приложения через CI / CD в виде диаграмм Helm (а также базовых образов Docker, на которые они ссылаются). Затем вы можете извлечь эти диаграммы из реестра диаграмм Helm локально и обновить их в локальном кластере.
Лазурный осадок
Вы также можете использовать такой инструмент, как Azure Draft, для простого локального развертывания и создания базовых диаграмм Helm из общеязыковых шаблонов, вроде пакетов сборки, чтобы автоматизировать эту часть головоломки.
Скаффолд
Skaffold похож на Azure Draft, но более зрелый, более широкий по своему охвату и создан Google. У него очень гибкая архитектура. Я думаю, что в будущем больше людей будут использовать его для разработки локальных приложений для Kubernetes.
Если вы использовали React, я думаю о Skaffold как о « Create React App for Kubernetes».
Сочинять или сочинять в Kubernetes
Docker Compose , хотя и не имеющий отношения к Kubernetes, является альтернативой, которую некоторые компании используют для предоставления простой, легкой и переносимой локальной среды разработки, аналогичной среде Kubernetes, которую они запускают в производственной среде. Однако идти по этому пути означает расходиться с настройками производства и локальной разработки.
Kompose - это конвертер Docker Compose в Kubernetes. Это может быть полезным путем для тех, кто уже запускает свои приложения в виде коллекций контейнеров локально.
Compose on Kubernetes - это недавно выпущенное (декабрь 2018 г.) предложение от Docker с открытым исходным кодом, которое позволяет развертывать файлы Docker Compose непосредственно в кластере Kubernetes через настраиваемый контроллер.