В этом блоге мы попытаемся изучить spring boot с помощью docker и развернуть его в локальном кластере k8s, размещенном с помощью minicube.
Убедитесь, что у вас установлен minicube Убедитесь, что у вас установлен kubectl Убедитесь, что у вас установлен docker Учетная запись Dockerhub для отправки изображений
Обратитесь к моему блогу для установки через chocolatey для Windows
1.Создайте проект spring boot со следующими зависимостями от start.spring.io 2.Образец ссылки на файл Dockerfile для создания изображения
FROM openjdk:13 EXPOSE 9000 ARG JAR_FILE= ./target/spring-dockr-k8s-0.0.1-SNAPSHOT.jar ADD ./target/spring-dockr-k8s-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"]
- Изменения в файле Pom для сборки и отправки изображения в dockerhub
com.spotify dockerfile-maven-plugin ${dockerfile-maven-version} default build push username ****** sanjaybsm/spring-dockr-k8s latest ${project.build.finalName}.jar
Если ваши изменения в pom верны, то,
mvn clean install" уже должен создать для вас образ, и вы должны увидеть журналы ниже. [ИНФОРМАЦИЯ] Успешно построен sanjaybsm/spring-dockr-k8s:последняя версия ` Push Ниже снимок из intellij, но вы также можете вручную выполнить команды из командной строки, чтобы переместить изображение,
[ИНФОРМАЦИЯ] Изображение 54ab11ed5591: Подготовка [ИНФОРМАЦИЯ] Изображение b8cb43830a76: Подготовка [ИНФОРМАЦИЯ] Изображение 93c304238ab8: Подготовка [ИНФОРМАЦИЯ] Изображение 12a9cd7d069e: Подготовка [ИНФОРМАЦИЯ] Изображение 93c304238ab8: Слой уже существует [ИНФОРМАЦИЯ] Изображение b8cb43830a76: Слой уже существует [ИНФОРМАЦИЯ] Изображение 54ab11ed5591: Толкание [ИНФОРМАЦИЯ] Изображение 12a9cd7d069e: Слой уже существует [ИНФОРМАЦИЯ] Изображение 54ab11ed5591: Толкнул [ИНФОРМАЦИЯ] последняя версия: дайджест: sha256:f2ddde51cbd4005ec90c25698649e1cf960cd1fbeb308f1de4b05b9a53606c48 размер: 1166
Запуск мини-кубика запуск мини-кубика
Запустите туннель mini cube, чтобы получить доступ к приложению за пределами кластера k8s туннель mini cube оставьте туннель открытым, и это изменение необходимо для Windows.
Создать развертывание kubectl создать развертывание testspringk8s --изображение={имя_пользователя dockerhub}/{имя_изображения}:{версия} например,kubectl создает тесты развертывания springk8s/spring-dockr-k8s
Разоблачить развертывание kubectl разоблачить развертывание testspringk8s
Выполните эту команду, чтобы узнать назначенный внешний Ip-адрес kubectl get svc Он должен показывать что-то вроде приведенного ниже
если он находится в ожидании, это означает, что ваш туннель не работает или какая-то проблема с вашим мини-кубом
Счастливого обучения!
Счастливого обучения!
Оригинал: “https://dev.to/sanjaybsm/springboot-docker-minikube-kubectl-local-setup-and-deployment-382m”