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

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

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

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

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

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

  4. Создайте в корневом каталоге YAML-файл приложения с названием my-jira.

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

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

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

Где:

  • name — имя диска.

  • storageclassName — тип подключаемого диска. Доступен только тип access mode = read writeonce (один контейнер может быть записан на диск).

  • storage — количество гигабайт диска.

Load Balancer

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

Где:

  • name — имя Load Balancer.

  • app — имя связующего ярлыка (в нашем примере jira).

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

  • target port — внешний порт.

Контейнер 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 — тип развертывания.

  • name — имя приложения.

  • namespace — пространство имен для приложения.

  • labels (связующий ярлык приложения с другими сервисами).

  • app — название ярлыка.

  • spec — спецификация контейнера.

  • replicas — количество подов (для Jira необходим один под).

  • servicename — имя службы.

  • spec — блок конфигурации с описанием диска для PVC.

  • name — имя контейнера.

  • image — конфигурация контейнера добавьте ссылку на нужный DockerHub, в данном примере это atlassian/jira-software версии 8.15.0.

  • env (окружение) — дополнительные параметры контейнера. Описание всех дополнительных параметров смотрите здесь .

Запуск Jira

Выполните команду для применения YAML-файла my-jira:

kubectl apply -f my-jira.yaml

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

Чтобы настроить сетевые параметры приложения:

  1. Авторизуйтесь в консоли управления Enterprise.

    Примечание

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

  2. Нажмите на карточку Дата-центра и в меню слева выберите 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.