Java Kubernetes (Серия из 4 Частей)
Привет, разработчик Java
Это третья часть серии Kubernetes для разработчиков Java. Прежде чем продолжить, проверьте первую и вторую части.
В этом уроке мы узнаем о создании и запуске приложения внутри кластера kubernetes.
На данный момент у нас есть Java-приложение , запущенное в docker , которое также использует базу данных mysql , запущенную в docker.
Подготовьте обстановку к важному моменту
Проверьте, есть ли у вас необходимые инструменты, прежде чем продолжить.
Просто проверь:
сделать –версию
версия мини-куба
версия kubectl
vboxmanage –версия
Если у вас нет ни одного из вышеперечисленных инструментов, пожалуйста, перейдите к первой части, следуйте инструкциям и вернитесь сюда.
Или просто наберите:
сделать проверку
Приведенная выше команда должна быть выполнена в корневом каталоге проекта. Пожалуйста, клонируйте его, если у вас его еще нет:
Пожалуйста, клонируйте его, если у вас его еще нет:
Подготовьте демонстрационное приложение
Перейдите в каталог java-kubernetes и введите make , чтобы просмотреть все параметры make .
Создайте мини-кубическую машину
сделайте k-setup запускает мини-куб , включите вход и создайте пространство имен “определение”.
Создание ресурсов kubernetes
Проверьте папку kubernetes с подкаталогами апп и mysql .
и || mysql
- Конфигурации приложений с переменными среды.
apiVersion: v1 kind: ConfigMap metadata: name: myapp namespace: dev-to data: DATABASE_SERVER_NAME: "mysql" DATABASE_USER_NAME: "myapp" DATABASE_USER_PASSWORD: "myapp_pwd"
Конфигурации приложений с переменными среды.
- Развертывание создает один реплицированный модуль. Для получения дополнительной информации, пожалуйста, ознакомьтесь с документацией .
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
namespace: dev-to
labels:
app: myapp
spec:
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: java-k8s:latest
imagePullPolicy: Never
ports:
- containerPort: 8080
name: http
envFrom:
- configMapRef:
name: myapp
Важной частью здесь является шаблон это определяет имя образа docker, http-порт и источник переменных среды.
это определяет имя образа docker, http-порт и источник переменных среды.
- Абстрактный способ предоставления приложения, работающего на наборе модулей, в качестве сетевой службы.
kind: Service
apiVersion: v1
metadata:
name: myapp
namespace: dev-to
spec:
selector:
app: myapp
type: NodePort
ports:
- protocol: TCP
port: 8080
targetPort: 8080
В папке mysql у нас есть только файлы развертывания и службы, потому что переменные среды находятся в одном файле.
Развертывание базы данных
сделать k-deploy-db создать mysql развертывание и сервис .
Проверьте, запущена ли служба:
kubectl получить модули -n для разработки-для
Доступ к базе данных на локальном хостинге:
kubectl переадресация порта -n dev-в <имя_под> 3306:3306
Создайте приложение и образ docker
создать приложение для сборки |/создайте приложение и создайте образ докера внутри машины mini kube
сделать развертывание-приложение |/развернуть приложение в кластере .
Проверьте, запущены ли службы:
kubectl получить модули -n для разработки-для
Проверьте URL-адрес приложения
Mini cube предоставляет вам хост и порт, к которому вы будете получать доступ.
Тип: мини-куб -п dev.to служба -n определение -для моего приложения - url
Адрес ниже будет другим для вас!
Адрес ниже будет другим для вас!
завиток -X ПОЛУЧИТЬ http://192.168.99.133:30343/persons
Чтобы открыть приложение непосредственно в веб-браузере: мини-куб -pdev.to сервис -n dev-для моего приложения
Вывод
В этой части мы узнали о том, как создавать и развертывать приложения внутри локального кластера kubernetes.
В следующей части мы рассмотрим, как отлаживать ваше приложение, и некоторые рекомендации для микросервисов.
До скорой встречи!
Бонус
Создайте все за один шаг
Чтобы создать мир, просто скопируйте и вставьте команду ниже в терминал. Убедитесь, что вы находитесь в корне проекта.
сделать k-все
Java Kubernetes (Серия из 4 Частей)
Оригинал: “https://dev.to/sandrogiacom/kubernetes-for-java-developers-deploy-application-413k”