Развертывание Jira c помощью Platform V Kubernetes

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

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

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

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

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

  4. Создайте YAML-файл приложения:

    • Создайте каталог приложения с помощью команды cd mkdir name (где name — уникальное имя каталога).

    • Создайте 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
      ports:
        - containerPort: 8080

Где:

  • 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 в Интернет с помощью VMware Cloud Director

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

  1. Авторизуйтесь в VMware Cloud Director .

    Примечание

    Данные для входа в VMware Cloud Director предоставляет специалист SberCloud после заказа услуги Platform V 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.

    См.также

    Про сетевое ваимодействие сервиса Platform V Kubernetes смотрите здесь.

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