Рубрики
Без рубрики

Kubernetes для разработчиков Java – Развертывание приложения

Kubernetes для разработчиков Java – Развертывание приложения. Помеченный java, docker, kubernetes, контейнерами.

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”