Развертывание Jira

В этом разделе рассмотрен пример развертывания Jira в Managed Kubernetes.

Перед началом работы

  1. Создайте кластер и группу узлов.

  2. Установите Kubernetes CLI (kubectl).

  3. Скачайте и примените Kubeconfig.

Разработка спецификации приложения Jira

Создайте YAML-файл my-jira.yml и сохраните спецификации следующих объектов Kubernetes:

Persistent Volume Claim

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
   name: jira-disk
   namespace: default
   labels:
     app: jira
spec:
  storageClassName: csi-sbercloud-nd
  accessModes:
     - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

Где:

  • metadata.name — название диска.

  • spec.storageClassName — тип подключаемого диска.

  • spec.accessModes — режим доступа к диску. В Managed Kubernetes возможно использование только ReadWriteOnce — диск может быть смонтирован для чтения и записи одним узлом.

  • spec.resources — запрашиваемые ресурсы для диска.

  • spec.resources.requests.storage — объем диска.

Load Balancer

apiVersion: v1
kind: Service
metadata:
  name: jira-lb
spec:
  selector:
    app: jira
  ports:
  - port: 8080
    targetPort: 8080
  type: LoadBalancer

Где:

  • metadata.name — название Load Balancer.

  • spec.selector.app — название связующей метки. В нашем примере jira.

  • spec.ports.port — порт, на котором работает сервис. Для развертывания Jira необходимо указать порт 8080.

  • spec.ports.targetPort — порт, на который сервис будет отправлять запросы.

Контейнер Jira

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: jira-demo
  namespace: default
  labels:
    app: jira
spec:
  replicas: 1
  serviceName: "jira"
  selector:
    matchLabels:
      app: jira
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: jira
    spec:
      volumes:
        - name: jira-disk
          persistentVolumeClaim:
            claimName: jira-disk
      containers:
      - name: jira-0
        image: atlassian/jira-software:8.15.0
        env:
          - name: JIRA_VERSION
            value: 8.15.0
          - name: JIRA_HOME
            value: /var/atlassian/application-data/jira
          - name: JIRA_INSTALL
            value: /opt/atlassian/jira
          - name: CATALINA_OPTS
            value: "-Dfile.encoding=UTF-8 -Xms1024m -Xmx3072m"
        volumeMounts:
          - name: jira-disk
            mountPath: /var/atlassian/application-data/jira

Где:

  • kind — тип создаваемого объекта.

  • metadata — данные для идентификации объекта.

  • metadata.name — название объекта.

  • metadata.namespace — пространство имен объекта.

  • metadata.labels — связующая метка объекта с другими сервисами.

  • metadata.labels.app — название метки.

  • spec — спецификация объекта.

  • spec.replicas — количество экземпляров подов, которые будут работать одновременно.

  • spec.serviceName — название управляющей службы.

  • spec.template.spec — cпецификация шаблона пода.

  • spec.template.spec.volumes — диск, который необходимо предоставить для пода.

  • spec.template.spec.containers — настройки контейнера.

  • spec.template.spec.containers.name — название контейнера.

  • spec.template.spec.containers.image — образ контейнера. Добавьте ссылку на нужный DockerHub, в примере — atlassian/jira-software версии 8.15.0.

  • env — дополнительные параметры контейнера. Описание см. в документе Environment variables.

Запуск Jira

Выполните команду:

kubectl apply -f my-jira.yaml

Настройка сетевых параметров приложения

  1. Авторизуйтесь в консоли управления платформы Облако VMware.

    Примечание

    Данные для входа в личный кабинет предоставляет специалист Cloud.ru после заказа услуги Managed Kubernetes.

  2. Нажмите Data Centers и в меню слева выберите Edges.

  3. Выберите пограничный маршрутизатор Edge gateway.

  4. Создайте правило для сети. Для этого выберите NAT и нажмите NEW.

  5. Установите следующие обязательные параметры для правила в окне Add NAT Rule:

    • Name — название правила. В этом примере — Jira.

    • Description — краткое описание правила.

    • State — статус правила. Активируйте чекбокс.

    • Interface Type — установите тип DNAT.

    • External IP — внешний IP-адрес. В этом примере ― 37.18.107.135.

    • Internal IP — внутренний IP-адрес. В этом примере ― 100.128.240.121.

    • External Port — внешний порт. В этом примере ― 8080.

  6. Нажмите Save.

    См.также

    Подробнее про сетевое взаимодействие.

  7. Проверьте доступ развернутого приложения в интернет. В примере ссылка на приложение будет следующего вида — http://37.18.107.135:8080/secure/Dashboard.jspa.

Запустили Evolution free tier
для Dev & Test
Получить